是否可以同时tail -f
对文件执行 a (或类似操作) ?grep
我不介意其他命令只是寻找这种行为。
答案1
使用 GNUtail
和 GNU grep
,我可以tail -f
使用直接语法来 grep a :
tail -f /var/log/file.log | grep search_term
答案2
添加--line-buffered
到grep
,这可能会减少您的延迟。在某些情况下非常有用。
tail -f foo | grep --line-buffered bar
答案3
它会工作得很好;更一般地说,grep
当程序没有输出时会等待,并在输出进入时继续读取,所以如果你这样做:
$ (echo foo; sleep 5; echo test; sleep 5) | grep test
5 秒内不会发生任何事情,然后 grep 将输出匹配的“test”,然后 5 秒后,当管道进程执行时,它将退出
答案4
你可以只将输出通过管道传输tail -f
到grep
。还有一些程序将tail -f
功能与过滤和着色相结合,特别是多尾(例子)。