基于bash中的单词行求和值
我有一个脚本,输出一个数字,后跟一个空格和一个字母,例如:基于bash中的单词行求和值,bash,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 我尝试过sort、awk和sed组合,但找不到一个很好的求和方法 谢谢。以下awk可能对您有所帮助 awk '{a[$2]+=$1} END{for(i
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
我尝试过sort、awk和sed组合,但找不到一个很好的求和方法
谢谢。以下awk可能对您有所帮助
awk '{a[$2]+=$1} END{for(i in a){print a[i],i}}' Input_file
如果您想按照第二个字段对其进行排序,那么在上述代码中也附加| sort-k2。以下awk可能会对您有所帮助
awk '{a[$2]+=$1} END{for(i in a){print a[i],i}}' Input_file
如果您想按照第二个字段对其进行排序,请在上述代码中附加| sort-k2。非常有效,谢谢!我在末尾添加了| sort-nr,以便首先按最高的数字进行排序。bash script.sh | awk'{a[$2]+=$1}END{fori in a{print a[i],i}}}| sort-nrWorks非常好,谢谢!我在末尾添加了| sort-nr,以便首先按最高的数字进行排序。bash script.sh|awk'{a[$2]+=$1}END{fori in a{print a[i],i}}}}排序-您在哪里做出了努力?把它和问题一起贴出来。你的努力在哪里?把它和问题一起贴出来。