数値テーブルを含むファイルがあります。最初の行はヘッダー行です。 awkを使用して各列の合計を計算し、各列の合計と列名を印刷したいと思います。
どうすればいいですか?
答え1
各行に同じ数のフィールド(列)があるとします。
awk '
NR==1 { for (i=1; i<=NF; i++) header[i]=$i; next; }
{ for (i=1; i<=NF; i++) total[i] += $i; }
END { for (i=1; i<=NF; i++) print header[i] "=" total[i]+0 }
'
入力例:
red green blue
1 2 4
8 16 32
64 128 256
対応する出力:
red=73
green=146
blue=292