awkコマンドで、topコマンドの結果を整形して保存したいです。 top -bn1 | awk '<式>' とやればできますが、topコマンドで継続的に実行して

補足

すいません、間にgrepを入れてました。top | awk だと、確かに普通に出力されました。 top -b -d 1 | grep -e Cpu -e Mem | awk '{if(NR%3)ORS=",";else ORS="\n"; print}' こんな感じです。 あと、実行環境は、WSLのUbuntu18.04です。 unbufferというのも試してみましたが、うまくいってません。(あまり深く見れてないですが。。)

Linux系 | Unix系99閲覧xmlns="http://www.w3.org/2000/svg">25

ベストアンサー

1

top -b -d 1 | grep -e Cpu -e Mem | awk '{if(NR%3)ORS=",";else ORS="\n"; print}' ↑これでも、しばらく待ってバッファがいっぱいなると、出力される。 stddefを使ってみたがうまくいかない。 https://linuxcommand.net/stdbuf/ めんどくさいので書き換えた。 top -b -d 1 | awk 'BEGIN{i=0}/Cpu|Mem/{i++;if(i%3)ORS=",";else ORS="\n";print}'

ThanksImg質問者からのお礼コメント

ありがとうございました!

お礼日時:2021/12/21 21:24

その他の回答(1件)