最初の列には、「識別子」番号を持つ多くの配列を含むファイルがあります。したがって、対応する「識別子」に基づいて2番目の列の数字を合計する必要があります。
入力例:
1: 6.1703
44 10
46 18.3
44 45.9
46 3.9
2: 6.1932
44 11.2
46 4.3
44 15.6319
46 20.12
3: 16.5
45 22.8
45 18.3
46 31
出力は次のようになります。
1: 6.1703
44 55.9
46 22.2
2: 6.1932
44 26.8319
46 24.42
3: 16.5
45 41.1
46 31
答え1
これは仕事をするでしょう
awk '
/^[[:blank:]]*$/{for (k in a) print k, a[k]; delete a; print ""; next}
/:/{print; next}
{a[$1] += $2}
END {for (k in a) print k, a[k]}
' data
1: 6.1703
44 55.9
46 22.2
2: 6.1932
44 26.8319
46 24.42
3: 16.5
45 41.1
46 31