awk计算相同标签行的各字段的和

发布时间:2020-08-30编辑:脚本学堂
使用awk计算相同标签行的各字段的和

文件内容:
a  1  2  3
a  2  3  4
b  1  2  3
b  1  1  1
处理后的结果输出:
a  3  5  7
b  2  3  4

要求:将第一个字段相同的行,各列相加,并输出。
每行字段都是相同的,代码相对简单。
 

复制代码 代码如下:
 {
  op[$1]++;
  for(i=2;i<=NF;i++)
 sum[$1,i] += $i
 }
 END{
for(x in op){
 printf x" "
 for(i=2;i<=NF;i++)
  printf sum[x,i]" "
 print ""
}
 }
 

如果每行的字段数不一样,还需将使用一个变量来控制行的最多的字段数。