Linuxファイルの最初の列を統合し、2番目の列に数字を追加します。

Linuxファイルの最初の列を統合し、2番目の列に数字を追加します。

複数のファイルからデータを収集し、単一の要約ファイルにダンプしています。

cat *files* | sort -u > final.rpt
a 1
a 5
a 6
b 2
b 3 
b 0
c 1
c 7

最初の列の文字列に基づいて一意化し、2番目の列の文字列に対応するすべての数値を合計するにはどうすればよいですか?上記の例で予想される出力は次のとおりです。

a 12
b 5
c 8

ベストアンサー1

次の操作が実行されます。

awk '{a[$1]+=$2} END {for (i in a) print i, a[i]}' <input file>

アイデアは、連想配列を使用して2番目の列の値を合計することです。

おすすめ記事