问题是awk脚本(几周前ref之前的问题)但有点复杂。
输入文件看起来:
Group1
id val1 val2
---------------------------
idone 2 10
idone 3 12
idone 6 9
idtwo 8 3
idtwo 14 1
Subtotal 33 35
Group2
id val1 val2
------------------------
idone 2 3
idone 1 4
idtwo 3 6
idtwo 4 7
Subtotal 10 20
Total 43 55
可能会有更多组,每组中有更多条目。 我将我的例子限制为2个详细名称idone,idtwo和2组。
现在的目的是对它们进行总结 结果为:
val1 val2
idone 14 38
idtwo 29 17
total 43 55
输出布局可自由选择: 如果你愿意,它也可能看起来像这样:
total_idone_val1=14
total_idone_val2=38
total_idtwo_val1=29
total_idtwo_val2=17
overall_total_val1=43
overall_total_val2=55
答案 0 :(得分:1)
试试这个awk cmd:
awk 'NF==3&&FNR>3&&!/[Tt]otal/{v1[$1]+=$2;v2[$1]+=$3}END{print "id","v1","v2";
for(x in v1){
print x,v1[x],v2[x]
s1+=v1[x]
s2+=v2[x]
}
print "total",s1,s2}' f1 f2
它给出了:
id v1 v2
idtwo 29 17
idone 14 38
total 43 55