Страница 1 из 1

Подсчёт суммы чисел в файле, если есть неуникальные значения

Добавлено: 2008-12-05 17:04:57
skeletor
Есть отсортированный файл такого вида

Код: Выделить всё

IP                bytes 

10.0.9.51       2829
10.0.9.51       6138
10.0.9.51       38644
10.0.9.51       5276
10.0.9.61       35657
10.0.9.63       4552
10.0.9.64       3270
Как найти суммарное количество байтов для каждого IP? То есть ответ должен быть примерно таким

Код: Выделить всё

10.0.9.51       4343
10.0.9.61       423974
10.0.9.63       13
10.0.9.64       4348
Решение может быть на любом из языков shell/perl/awk/sed
Заранее спасибо.

Re: Подсчёт суммы чисел в файле, если есть неуникальные значения

Добавлено: 2008-12-05 17:13:18
zg

Код: Выделить всё

awk '{sum[$1]+=$2}END{for(i in sum) print i,sum[i]}'

Re: Подсчёт суммы чисел в файле, если есть неуникальные значения

Добавлено: 2008-12-05 17:36:34
skeletor
спасибо, работает.

Что бы не создавать ещё одну тему, может подскажите, как конвертнуть байты в более читабельный вид, например, в мегабайты?

Re: Подсчёт суммы чисел в файле, если есть неуникальные значения

Добавлено: 2008-12-05 17:46:29
zg
гм... что-то мне подсказывает, что карытом тут не отделаться 8)

Код: Выделить всё

awk '{sum[$1]+=$2}END{for(i in sum) print i,sum[i]/1024/1024"Mb"}'