Unix 连接到管道和控制台的Stdout?

Unix 连接到管道和控制台的Stdout?,unix,pipe,stdout,tee,Unix,Pipe,Stdout,Tee,是否有一种方法可以同时输出到另一个进程的标准输出和标准输入?也就是说,中间标准输出是否在到达另一个流程的管道之前输出 我知道该命令允许您写入文件和stdout,但我不希望这里涉及任何文件。我想这有点“黑客”,但您可以将tee的输出重定向到stderr。由于大多数程序从stdin获取输入,因此重定向到stderr将保持原始输出不变,同时仍通过管道传输到下一个进程 比如说, cat file.txt | tee >&2 | wc -l 将输出file.txt的全部内容,然后只输出fi

是否有一种方法可以同时输出到另一个进程的标准输出和标准输入?也就是说,中间标准输出是否在到达另一个流程的管道之前输出

我知道该命令允许您写入文件和stdout,但我不希望这里涉及任何文件。

我想这有点“黑客”,但您可以将
tee
的输出重定向到
stderr
。由于大多数程序从
stdin
获取输入,因此重定向到
stderr
将保持原始输出不变,同时仍通过管道传输到下一个进程

比如说,

cat file.txt | tee >&2 | wc -l
将输出file.txt的全部内容,然后只输出file.txt中的行数(
wc-l

显然,只有当stderr在您希望的地方(如终端/控制台)输出时,这才起作用


这不是一个理想的解决方案,因为它涉及到使用
stderr
来处理它不一定是为某件事而设计的,但它是有效的。

tee
正在写入std out,它将被下一个
|
的stdin读取。还是我误解了你的问题?@Sheller-对。我希望它去管道和旧的标准输出(即控制台显示)感谢提示!我找到了另一个解决方案(只需编写一个程序就可以了…),但这对以后来这里的人很有用。