いくつかの簡単なデータがあります。
digital 5434
ero 3464
3es 69955
digital 1948
ero 5783
ride 5884
この入力ファイルを処理し、最初のフィールドが同じ2番目のフィールド値をすべて合計したいと思います。最終出力ファイルは次のようになります。
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
これはファイルのほとんどのデータをメモリに保存するため、非常に大きなファイルの場合に問題が発生する可能性があります。