몇 가지 간단한 데이터가 있습니다.
digital 5434
ero 3464
3es 69955
digital 1948
ero 5783
ride 5884
이 입력 파일을 처리하고 첫 번째 필드가 동일한 두 번째 필드 값을 모두 합산하고 싶습니다. 최종 출력 파일은 다음과 같아야 합니다.
digital 7382
ero 9247
3es 69955
ride 5884
awk를 사용하면 이것이 가능하다고 생각했나요?
도움을 주셔서 감사합니다.
답변1
간단한 방법은 다음과 같습니다.
$ awk '{a[$1]+=$2}END{for(i in a){print i,a[i]}}' data
ero 9247
3es 69955
digital 7382
ride 5884
이는 파일의 대부분의 데이터를 메모리에 저장하므로 매우 큰 파일의 경우 문제가 발생할 수 있습니다.