저는 이 문제를 해결할 방법을 찾고 있습니다 awk
. 입력하다:
X 1
Y 2
Z 3
X 4
Y 5
출력은 다음과 같아야 합니다.
X 5
Y 7
Z 3
여기에는 두 가지 질문이 있습니다. 첫 번째는 awk
가능합니까?
다음과 같이 작동합니다. $$1 (X) exists add $2 else declare $$1 (X) then add $2
이를 수행하는 방법을 알고 있더라도 선언된 모든 변수의 이름(예: X, Y, Z)을 알아야 합니다.
이 작업을 처리하는 더 쉬운 방법이 있을 것 같은데 이해가 안 돼요...
답변1
awk
배열에서 연관되므로 다음이 작동합니다 .
awk '{ vect[$1] += $2 };
END { for (item in vect) print item, vect[item] }' input-file