কিভাবে শেল স্ক্রিপ্ট মধ্যে ভাসমান বিন্দু অপারেশন করতে


2
29/0.060

শেল স্ক্রিপ্টে ভাসমান অপারেশন করার কোন উপায় আছে। আমি এই চেষ্টা

awk '{printf $1/0.060}' <<<29 এটা জরিমানা কাজ করে,

awk '{printf $1/0.060}' <<<$test কোথায় test=29 এছাড়াও সূক্ষ্ম কাজ করে।

কিন্তু না

awk '{printf $1/$test2}' <<<29 কোথায় test2=0.060 ফলে 1, কিন্তু উত্তর হয় 483.333

উত্তর:


2

সমস্যা হল যে awk পার্সড ইনপুট থেকে অবস্থানগত পরামিতি বিস্তৃত, কিন্তু শেল ভেরিয়েবল নয়। তাই আপনি প্রয়োজন কি:

awk '{printf $1/'$test2'}' <<<29

এই শেল প্রসারিত করতে পারবেন $test2, কিন্তু না $1।


awk এছাড়াও অন্তর্নির্মিত আছে ENVIRON, তাই এটি কাজ করে: export test2=0.060; awk '{printf $1/ENVIRON["test2"]}' <<<29। দ্য export যোগ করার প্রয়োজন হয় test2 যাতে পরিবেশে awk এটা নিতে পারেন।
— AFH
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.