将grep输出重定向到文件

pis*_*hio 3 bash shell

如果我执行

$ java -jar selenium-server.jar 2>&1 | grep "jetty.Server" 
Run Code Online (Sandbox Code Playgroud)

过了一会儿,我得到了我期望的输出:

$ 16:30:24.881 INFO - Started org.openqa.jetty.jetty.Server@6b0a2d64
Run Code Online (Sandbox Code Playgroud)

但我尝试将grep输出重定向到一个文件,它不写一个东西

$ java -jar selenium-server.jar 2>&1 | grep "jetty.Server" > /tmp/ebook_selenium
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?谢谢

Ada*_*iss 6

我们发现grep在写入stdout但不是文件时刷新其输出.

grep --line-buffered 将强制grep在处理时输出每一行.