Я намагаюся побачити, скільки разів 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}'