Я хочу сделать что-то вроде этого:
watch tail -f | wc -l
#=> 43
#=> 56
#=> 61
#=> 44
#=> ...
Он считает новые линии хвоста каждую секунду
/ Linux, CentOs
Чтобы быть более понятным. У меня есть что-то вроде этого:
tail -f /var/log/my_process/*.log | grep error
Я читаю некоторые сообщения об ошибках. И теперь я хочу их посчитать. Сколько ошибок ~ я получил в секунду. Таким образом, одна строка в журнале - это одна ошибка в процессе.
tail -f /path/to/file
одиночку. Если вы хотите посмотреть строки файла, вы можете использоватьwatch wc -l /path/to/file
.tail -f /var/log/my_process/*.log |grep error > /tmp/error.lines & ; watch wc /tmp/error.lines
? Тогда делай математику.Ответы:
Я недавно обнаружил PV, и это действительно круто, вы могли бы сделать что-то вроде
tail -f logfile | pv -i2 -ltr > /dev/null
источник
Вот быстрый и грязный метод. Вы в основном хотите разбить
tail
иwatch wc
на отдельные части, и сделать что-то вроде:в этот момент вы можете сделать математику, чтобы получить число ошибок / сек. Но, если вы просто делаете это для разовой проверки уровня ошибок, быстрых и грязных может быть достаточно.
источник
Если pv недоступен, это можно сделать с помощью perl:
Каждую секунду:
Каждые 10 секунд
Пример вывода:
источник
Вы можете попробовать что-то вроде этого:
Он печатает номер строки перед каждой строкой.
источник
nl
сделает это, не требуя вызова perl.