Estou tentando ver quantas vezes foo bar
aparece /var/log/foo.log
dentro de um período arbitrário em um servidor remoto, mas nada que eu tentei até agora funcionou.
Eu já tenho um script de cronômetro que eu uso para acompanhar quanto tempo se passou desde que comecei a seguir /var/log/foo.log
e agora gostaria de saber como quantas vezes foo bar
apareceram na saída de cauda.
Pesquisei no google, mas não encontrei nada pertinente nas primeiras 10 páginas de resultados.
Aqui está o que eu tentei com resultados frustrantes:
## 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}'
Eu até tentei escrever um script sed que agisse assim tail -f
, mas fiz um progresso limitado a nenhum com isso.
NOTA
o servidor remoto está executando uma versão mais antiga do coreutils e a atualização é uma opção, mas NÃO é de forma alguma a solução desejada.
--line-buffered
opção paragrep
. Outail -f ... | awk '/foo bar/{print ++n, $0}'