0

我有一个以“”分隔的文件,其中包含几个字段。我知道如何选择一个特定的字段并自行求和,但想知道是否有一种使用 linux 实用程序的干净方法,否则我将在 C 中进行。

我正在谈论的一个例子:

文件(有更多字段,但这些是唯一对这种情况重要的字段):

1 36
2 96
5 84422
2 2
1 655

所以,对于这个小例子,我想要:

1 691
2 98
5 84422

我不确定是否真的值得尝试使用 linux 实用程序,但由于我正在尝试使用这些工具扩展我的知识,我想我会问它是否 1.) 可能,2.) 实用。

4

2 回答 2

0
awk '{ a[$1] += $2 } END { for (i in a) { print i " " a[i] } }' input.txt | sort -n
于 2011-03-25T05:19:55.450 回答
0
$ perl -ne '/ /; $x{$`}+=$'\''; END { print "$_ $x{$_}\n" foreach keys %x; }' <<__END__
> 1 36
> 2 96
> 5 84422
> 2 2
> 1 655
> __END__
1 691
2 98
5 84422
于 2011-03-25T01:48:58.373 回答