AWK: 別の列の項目に基づく列の値の合計 [重複]

AWK: 別の列の項目に基づく列の値の合計 [重複]

同じ表の最初の列に与えられた項目に基づいて、下の表の3番目の列にリストされている値を合計したいと思います。表の内容は次のとおりです。

John|Login|2
Mary|Login|10
Mary|Payroll|100
John|Login|200
John|Logout|10
Mary|Payroll|10

予想される結果は次のとおりです。

John|Login|202
John|Logout|10
Mary|Login|10
Mary|Payroll|110

この出力をどのようにawk取得できますか?

ベストアンサー1

このコマンドは私にとって効果的です。それはあなたに役立ちます:

     awk -F '|' '{a[$1"|"$2"|"]+= $3} END{for (i in a) print i, a[i]}' filename | sort -k 1,1
John|Login| 202
John|Logout| 10
Mary|Login| 10
Mary|Payroll| 110

おすすめ記事