0

いくつかのフィールドで区切られた ' ' ファイルがあります。特定のフィールドを選択してそれ自体を合計する方法は知っていますが、Linux ユーティリティを使用してこれを行うクリーンな方法があるかどうか疑問に思っていました。それ以外の場合は C で行います。

私が話していることの例:

FILE (他にもフィールドがありますが、このケースで重要なのはこれらだけです):

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 に答える