我有内容如下的文本文件:脚本中的awk
1,A,100
2,A,200
3,B,150
4,B,100
5,B,250
我需要的输出:
A,300
B,500
这里的逻辑是所有的第3场的总和,其第2场A和以相同的方式进行B
我们如何使用awk来做到这一点?
我有内容如下的文本文件:脚本中的awk
1,A,100
2,A,200
3,B,150
4,B,100
5,B,250
我需要的输出:
A,300
B,500
这里的逻辑是所有的第3场的总和,其第2场A和以相同的方式进行B
我们如何使用awk来做到这一点?
您可以使用hash
为做到这一点:
awk -F"," '{cnt[$2]+=$3}END{for (x in cnt){printf "%s,%d\n",x,cnt[x]}}' file
哦,我不起来编写和调试代码为您服务。但是,您需要的元素是:
FS=","
将字段分隔符更改为逗号。$2
)和第三个($3
)字段。$ awk -F"," '{_[$2]+=$3}END{for(i in _)print i,_[i]}' OFS="," file
A,300
B,500