在Bash中,我如何对第2列中具有相同值的行求和

时间:2016-12-15 18:49:35

标签: bash

我正在寻找的例子

如果源信息类似于此

blah,445522-000,6
nug,382911-003,2
slug,445522-000,3

我知道我可以使用sort -t',' -g -k 2 (source file)根据第2列进行排序,但我真正需要做的是合并第一行和第三行 通过组合它们并汇总第3列

输出

nug,382911-003,2
blah,445522-000,9

不确定如何继续提供任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

awk救援!

$ awk -F, -v OFS=, '     {a[$2]+=$3} 
               !($2 in b){b[$2]=$1} 
               END       {for(k in a) print b[k],k,a[k]}' file

nug,382911-003,2
blah,445522-000,9