awkの値とも呼ばれる間接参照

awkの値とも呼ばれる間接参照

私はこの問題を解決する方法を探していますawk。入力する:

X 1
Y 2
Z 3
X 4
Y 5

出力は次のようになります。

X 5
Y 7
Z 3

ここには2つの質問があります。最初は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

おすすめ記事