LINUX.ORG.RU
ФорумAdmin

help

 , , ,


0

1

есть такая строка лога

2020-08-24 12:10:03.531103500 info (32407) Message processed from=email: test@ya.ru to=email: user1@test.local
archived=Y sent=N w_time=4426 msec msg_size=202080 bytes events=1 blocked=Y
Мне нужно во-первых найти в логе все строки которые имеют test@ya.ru а затем из полученных строк просуммировать значение msg_size и вывести эту цифру в итоге Как добиться такого?

★★★★★
awk -F '[ =]' '/test@ya.ru/ {s+=$(NF-5)} END {print s}'

При условии, что последние элементы через пробел и = есть в каждой строке совпадения.

Yorween
()

Пять звёзд, а нормально формулировать заголовок поста так и не научился. Стыдно.

ox55ff ★★★★★
()
Ответ на: комментарий от Shulman

может быть написать скрипт?

Если бы это делал я, то это был бы fgrep + sed + awk (то что предложили выше слишком чувствительно к формату записей). Но я подозреваю что ТС что-то не договаривает.

bugfixer ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.