次のファイルがあります。
paper 3
paper 6
eraser 2
pencil 9
pencil 44
pencil 1
次のように、共通の最初のフィールドを持つ行を要約したいと思います。
paper 9
eraser 2
pencil 54
標準のUnixユーティリティを使用してこれを実行できるかわいいセリフはありますか?はるかに標準的なUnixユーティリティです。
ベストアンサー1
確認してください:
$ echo "$a"
paper 3
paper 6
eraser 2
pencil 9
pencil 44
pencil 1
$ awk '{a[$1]=a[$1]+$2}END{for (i in a) print i,a[i]}' <(echo "$a")
pencil 54
eraser 2
paper 9
<(echo "$a)
次に置き換えてくださいfile
:
$ awk '{a[$1]=a[$1]+$2}END{for (i in a) print i,a[i]}' file