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


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.