管道和无限流如何工作?

Nis*_*ant 4 linux pipe streams

我通常command1 | command2 | command3在 Linux 中使用很多,但大多数都在处理确定的内容。

当我用一个无限流尝试这个,cat | sed '' | sed ''它希望模拟一个无限流时,它没有工作,直到我用Ctrl-D. 我可以通过使用解决问题,cat | sed -e '' -e ''但我想知道为什么第一个不起作用。cat | cat | cat工作得很好。这与 有什么关系sed,如果有,那是什么问题?

我试着思考这个问题,我发现唯一不同的是,当我使用时,cat我按下了Enter键,它做了一些sed ''上面第一个没有发生的特殊事情?

谁能告诉我如何使管道与无限蒸汽无缝工作?

use*_*469 5

管道将输出或左命令连接到右命令的输入。这与流的长度无关。但是,管道中的每个命令仍然有自己的缓冲规则。如果您不在每个命令中触发它们,您将不会在最终输出中看到它们。