我有內容如下的文本文件:腳本中的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