суммирование значений столбца на основе идентификатора другого столбца с использованием инструментов Linux - PullRequest
0 голосов
/ 25 марта 2011

У меня есть файл с разделением на несколько полей.Я знаю, как выбрать конкретное поле и суммировать это само по себе, но мне было интересно, есть ли чистый способ сделать это с помощью утилит linux, иначе я сделаю это на C.

Пример того, что яЯ говорю о:

ФАЙЛ (есть больше полей, но это единственные, которые имеют значение для этого случая):

1 36
2 96
584422
2 2
1 655

Итак, для этого небольшого примера я бы хотел:

1 691
2 98
584422

Я не уверен, действительно ли стоит пытаться использовать утилиты linux, но, поскольку я пытаюсь расширить свои знания с помощью этих инструментов, я решил спросить, было ли это 1)., 2.) практично.

Ответы [ 2 ]

0 голосов
/ 25 марта 2011
awk '{ a[$1] += $2 } END { for (i in a) { print i " " a[i] } }' input.txt | sort -n
0 голосов
/ 25 марта 2011
$ 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
...