我的输入看起来像
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对整数列表求和的行).
像这样的东西应该做的伎俩:
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)