在bash中,当B列具有相同内容时,如何将A列中的所有数字相加?

Cos*_*Cos 3 bash shell awk

我的表看起来像这样:

11 wordA  
16 wordB 
17 wordC 
24 wordA 
25 wordB
Run Code Online (Sandbox Code Playgroud)

如果该行上的单词匹配,我想将数字加起来,所以我可以合并表格.结果应如下所示:

35 wordA
41 wordB
17 wordC
Run Code Online (Sandbox Code Playgroud)

非常感谢帮助!

(PS有没有办法用awk做到这一点?)

lar*_*sks 7

这是一个非常典型awk的问题.awk执行此操作的脚本如下所示:

{ totals[$2] += $1 }

END {
  for (i in totals)
    print totals[i], i
}
Run Code Online (Sandbox Code Playgroud)

第一个节创建一个由第二列键入的总计关联数组.END然后该块迭代数组并打印总数.