আমি কীভাবে আমি ডাব্লু কে কীভাবে লাইনগুলি বিয়োগ করতে পারি তা জানার চেষ্টা করছি । উদাহরণস্বরূপ, ইনপুট ফাইলটি কল্পনা করুন:
30
20
আউটপুটটি হবে:
10
এখন, পরীক্ষা হিসাবে আমি "ব্যবহৃত" মেমরি কলামটি এখান থেকে গণনা করার চেষ্টা করছি:
$ cat /proc/meminfo
তাই এই মুহুর্তে আমি এটি লিখেছি:
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
-- Here comes the calculation using AWK
আমি নিম্নলিখিত চেষ্টা করেছি:
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}' | awk '{$0-s}{s=$0} END {print s}'
তবে এটি কেবল আমাকে ডেটার শেষ সারি দেয়।
আমি একটি কার্যনির্বাহী সমাধান খুঁজে পেয়েছি, তবে আমি সন্দেহ করি যে এটি সর্বাধিক অনুকূল একটি। আমার সমস্ত কোডিং অভিজ্ঞতা আমাকে বলেছে যে সারিগুলির পরিমাণের কোডিং কঠোর: পি
$ grep -P 'MemTotal|MemFree' /proc/meminfo | \
awk '{print $2}' | awk 'NR == 1{s=$0} NR == 2 {s=s-$0} END {print s}'
line1_$2 - line2_$2 - lineN-$2
? আপনি কি কেবল প্রথম দুটি পরপর সারিগুলি বিয়োগ করতে চান?