基于bash中的单词的总和值

时间:2018-06-14 11:08:46

标签: bash

我有一个脚本,输出一个数字,后跟一个空格,然后是一个字母,例如:

2685 R
2435 M
984 D
924 A
353 R
291 A
593 D
577 A
476 R
769 M
629 R
179 D

是否有一种简单的方法可以根据数字后的字母/单词对数字求和?我希望这是输出:

1792 A
1756 D
3204 M
4143 R

我尝试了sortawksed组合,但无法找到一个很好的求和解决方案。

感谢。

1 个答案:

答案 0 :(得分:4)

关注awk可能会对您有所帮助。

awk '{a[$2]+=$1} END{for(i in a){print a[i],i}}' Input_file

如果您想按照第二个字段对其进行排序,请将| sort -k2附加到上面的代码中。