文件:
a 2 1 4 8
b 3 0 3 7
b 4 0 4 7
c 2 3 5 6
c 1 3 5 6
c 2 2 5 6
d 8 0 6 4
要求:把第一行相同的对应的列加起来。
awk '{a[$1]+=$2;b[$1]+=$3;c[$1]+=$4;d[$1]+=$5}END{for(i in a)print i,a[i],b[i],c[i],d[i]}' file
原来有一个类似的文件
a 2
b 3
b 4
c 2
c 1
c 2
d 8
同样的把出现的次数加起来。
当时的处理的方法是 awk ‘{a[$1]+=$2}END{for(i in a)print i,a[i]}’ file
一般的统计次数的awk都可以利用这种方法去实现,一般统计完之后会有END表示结束。并且如果前面想计算谁的话就加上谁,如a[$1]+=$2,就是这样实现的。