小编lis*_*rus的帖子

如果通过 cat 管道传输,grep 直到 EOF 才会输出

鉴于这个最小的例子

( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; )
Run Code Online (Sandbox Code Playgroud)

它输出LINE 1,然后,一秒钟后LINE 2如预期的那样输出。


如果我们通过管道将其传输到 grep LINE

( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | grep LINE
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,行为与前一种情况相同。


如果,或者,我们通过管道将其传输到 cat

( echo "LINE 1" ; sleep 1 ; echo "LINE 2" ; ) | cat
Run Code Online (Sandbox Code Playgroud)

行为再次与预期相同。


但是,如果我们通过管道连接到grep LINE,然后到cat

( echo "LINE 1" ; sleep 1 ; echo …
Run Code Online (Sandbox Code Playgroud)

grep bash pipe

20
推荐指数
3
解决办法
3290
查看次数

标签 统计

bash ×1

grep ×1

pipe ×1