sed
এআইএক্স অন যা করছে তা আমার মনে হচ্ছে না। আমি IOSTAT এর আউটপুটে একক স্থান দিয়ে একাধিক স্পেস প্রতিস্থাপন করার চেষ্টা করছি:
# iostat
System configuration: lcpu=4 drives=8 paths=2 vdisks=0
tty: tin tout avg-cpu: % user % sys % idle % iowait
0.2 31.8 9.7 4.9 82.9 2.5
Disks: % tm_act Kbps tps Kb_read Kb_wrtn
hdisk9 0.2 54.2 1.1 1073456960 436765896
hdisk7 0.2 54.1 1.1 1070600212 435678280
hdisk8 0.0 0.0 0.0 0 0
hdisk6 0.0 0.0 0.0 0 0
hdisk1 0.1 6.3 0.5 63344916 112429672
hdisk0 0.1 5.0 0.2 40967838 98574444
cd0 0.0 0.0 0.0 0 0
hdiskpower1 0.2 108.3 2.3 2144057172 872444176
# iostat | grep hdisk1
hdisk1 0.1 6.3 0.5 63345700 112431123
#iostat|grep "hdisk1"|sed -e"s/[ ]*/ /g"
h d i s k 1 0 . 1 6 . 3 0 . 5 6 3 3 4 5 8 8 0 1 1 2 4 3 2 3 5 4
সেডকে পুরো গ্রুপ (/ জি) এর জন্য একক স্পেস (/ /) দিয়ে একাধিক স্পেস (/ [] * /) অনুসন্ধান এবং প্রতিস্থাপন করা উচিত ... তবে এটি কেবল তা করছে না ... এটি প্রতিটি চরিত্রকে ফাঁক করে দিচ্ছে।
আমি কি ভুল করছি? আমি জানি এটি সহজ কিছু হতে পারে ... এআইএক্স 5300-06
সম্পাদনা: আমার কাছে আরও একটি কম্পিউটার রয়েছে যার 10+ হার্ড ড্রাইভ রয়েছে। আমি এটিকে পর্যবেক্ষণের উদ্দেশ্যে অন্য প্রোগ্রামের প্যারামিটার হিসাবে ব্যবহার করছি।
আমার যে সমস্যাটি দেখা গিয়েছিল তা হ'ল "awk '{মুদ্রণ $ 5}' কাজ করেনি কারণ আমি দ্বিতীয় পর্যায়ে $ 1 ইত্যাদি ব্যবহার করছি এবং মুদ্রণ কমান্ডটিতে ত্রুটি দিয়েছি। আমি একটি গ্রেপ / সেড / কাট সংস্করণ খুঁজছিলাম কাজ দেখে মনে হচ্ছে:
iostat | grep "hdisk1 " | sed -e's/ */ /g' | cut -d" " -f 5
[] গুলি তখন "0 বা তার বেশি" ছিল যখন আমি ভেবেছিলাম যে তারা "কেবলমাত্র একটি" বোঝায়। বন্ধনী অপসারণ এটি কাজ করে। তিনটি খুব ভাল উত্তর সত্যিই দ্রুত "উত্তর" নির্বাচন করা কঠিন করে তোলে।