아래와 같이 %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
두 개의 배열 사용
awk 'BEGIN { FS=OFS="\t"}{a0[$3]+=$1; a1[$3]+=$2 }END {for (i in a0) print a0[i], a1[i], i}'