diff 함수를 사용하면 Unix에서 다음과 같은 경우가 가능한지 궁금합니다.
한 줄이 있다고 가정 해 봅시다
1234 1 2
그리고 다음을 포함하는 파일 하나
1234 2 3
예를 들어 1234는 pid, 2는 디스크 사용량, 3은 CPU 사용량을 나타냅니다. diff 함수를 사용하여 내 행을 파일의 행과 '병합'하고 즉시 합계 함수를 적용하여 다음과 같은 최종 출력을 얻을 수 있습니까? (pid는 병합 키임)
1234 3 5
(3은 1과 2의 합, 5는 2와 3의 합)
답변1
아니요, diff
산술 계산을 할 수 없습니다. awk
다음과 같이 사용하십시오:
awk '{ grouping_disks[$1]+=$2; grouping_cpus[$1]+=$3 }
END{
for(indx in grouping_disks)
print indx, grouping_disks[indx], grouping_cpus[indx]
}' file1 file2 fileN