Я пытаюсь увидеть, сколько раз foo bar
в /var/log/foo.log
течение произвольного промежутка времени появляется на удаленном сервере, но ничего из того, что я пробовал до сих пор, не сработало.
У меня уже есть сценарий таймера, который я использую для отслеживания того, сколько времени прошло с тех пор, как я начал хвастаться /var/log/foo.log
, и теперь я просто хотел бы узнать, сколько раз foo bar
появилось в хвостовом выводе.
Я искал в Google, но я не нашел ничего подходящего в первых 10 страницах результатов.
Вот что я пробовал с разочаровывающими результатами:
## works on local machine, but doesn't work as expected on remote
tail -f /var/log/foo.log | grep foo\ bar | sed '='
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | cat -n -
## works on local, but not remote
tail -f /var/log/foo.log | grep foo\ bar | awk -F'\n' '{printf "[%d]> ", NR; print $1}'
Я даже пытался написать сценарий sed, который бы вел себя как tail -f
, но я сделал это с ограничением на успех.
НОТА
на удаленном сервере запущена более старая версия coreutils, и обновление является опцией, но никоим образом НЕ является желаемым решением.
--line-buffered
вариантgrep
. Илиtail -f ... | awk '/foo bar/{print ++n, $0}'