awk用メモ¶
TOPコマンドの結果を加工¶
1秒間隔で60回(1分)間の結果をtop.txtに出力
回数制約を実施しない場合には「-n 60」設定しない。その場合「ctrl + c」にて終了させる。
top -b -d 1 -n 60 > top.txt
出力されたファイルのCPUおよびメモリ使用量を加工して出力
cat top.txt | awk '{ if($1 ~ /^top/ || $1 ~ /^%Cpu/ || $1 ~ /^MiB/ ) print $0 }' | awk '{if(NR%4)ORS=",";else ORS="\n";print}' | awk -F, '{print $1"\t"$9"\t"$15"\t"$16}'
出力結果
top - 00:10:43 up 21 min 100.0 id 11445.0 free 1300.0 used top - 00:10:44 up 21 min 99.9 id 11445.0 free 1300.0 used top - 00:10:45 up 21 min 99.8 id 11445.0 free 1300.0 used top - 00:10:46 up 21 min 92.6 id 11446.8 free 1298.2 used top - 00:10:47 up 21 min 98.5 id 11446.8 free 1298.2 used top - 00:10:48 up 21 min 98.2 id 11446.8 free 1298.2 used top - 00:10:49 up 21 min 99.9 id 11446.4 free 1298.6 used top - 00:10:50 up 21 min 98.7 id 11446.4 free 1298.6 used top - 00:10:51 up 22 min 98.9 id 11446.4 free 1298.6 used ~~ 以下略 ~~