以下に示すように、%cpu、%mem、およびプロセス名を含むps出力ファイル名psがあります。
3.0 0.1 php-fpm: pool www
2.0 0.1 php-fpm: pool www
1.0 0.1 php-fpm: pool www
9.0 0.1 chrome
9.0 0.1 chrome
同じプロセスのCPUとメモリ使用量を要約したいと思います。したがって、予想される出力は次のようになります。
6.0 0.3 php-fpm: pool www
18.0 0.2 chrome
現在、私はawk 'BEGIN { FS=OFS=SUBSEP="\t"}{arr[$3]+=$1 }END {for (i in arr) print arr[i], i}' ps
単一の列を要約するために使用しています。
6.0 php-fpm: pool www
18.0 chrome
これを達成するにはどうすればよいですか?
答え1
2つの配列の使用
awk 'BEGIN { FS=OFS="\t"}{a0[$3]+=$1; a1[$3]+=$2 }END {for (i in a0) print a0[i], a1[i], i}'