GROUP BY/SUM from shell

前端 未结 6 1513
既然无缘
既然无缘 2020-11-28 11:52

I have a large file containing data like this:

a 23
b 8
a 22
b 1

I want to be able to get this:

a 45
b 9

6条回答
  •  执笔经年
    2020-11-28 12:35

    This Perl one-liner seems to do the job:

    perl -nle '($k, $v) = split; $s{$k} += $v; END {$, = " "; foreach $k (sort keys %s) {print $k, $s{$k}}}' inputfile
    

提交回复
热议问题