Próbuję zobaczyć, ile razy foo bar
pojawia się w /var/log/foo.log
dowolnym czasie na zdalnym serwerze, ale nic, co do tej pory próbowałem, nie zadziałało.
Mam już skrypt timera, którego używam do śledzenia, ile czasu minęło, odkąd zacząłem tailing /var/log/foo.log
, a teraz chciałbym po prostu powiedzieć, ile razy foo bar
pojawił się w wynikach tailed.
Szukałem w Google, ale nie znalazłem nic istotnego na pierwszych 10 stronach wyników.
Oto, co próbowałem z frustrującymi wynikami:
## 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}'
Próbowałem nawet napisać scenariusz sed, który zachowywałby się w ten sposób tail -f
, ale zrobiłem z tego postępy.
UWAGA
na zdalnym serwerze działa starsza wersja coreutils, a aktualizacja jest opcją, ale NIE jest w żaden sposób pożądanym rozwiązaniem.
--line-buffered
opcjęgrep
. Lubtail -f ... | awk '/foo bar/{print ++n, $0}'