tail -f foo.log | grep -m 1 bar
se o arquivo foo.log for escrito para, você pode fazer:
grep -m 1 bar <( tail -f foo.log )
Deve-se notar que a cauda -f permanecerá em segundo plano até obter outra linha para saída. Se isso levar muito tempo, pode ser problemático. solução em tal caso é:
grep -m 1 bar <( exec tail -f foo.log ); kill $! 2> /dev/null
kill matará o processo tail-f restante, e nós ocultamos os erros, porque é possível que o tail tenha sumido quando o kill for invocado.