标记行perl/shellscript的总和

Jac*_*cob 1 shell perl sum

我的输入看起来像

5 X
8 Y
3 Z
9 X
Run Code Online (Sandbox Code Playgroud)

我想要输出总和每个'标签'的数值; 例如

14 X
8 Y
3 Z
Run Code Online (Sandbox Code Playgroud)

想知道是否有一个光滑的衬里我可以使用(沿着那些用于使用awk对整数列表求和的行).

Eri*_*rom 7

像这样的东西应该做的伎俩:

perl -ne '$table{$2} += $1 if /(\d+)\s+(.+)/; END {print "$table{$_} $_\n" for keys %table}'
Run Code Online (Sandbox Code Playgroud)

或使用自动拆分:

perl -ane '$table{$F[1] or next} += $F[0]; END {print "$table{$_} $_\n" for keys %table}'
Run Code Online (Sandbox Code Playgroud)