有没有办法输出到标准输出和另一个进程的标准输入?也就是说,在到达另一个进程的管道之前,是否要输出中间stdout?标准输出到两个管道和控制台?
我知道tee命令可以让你写一个文件,并到stdout,但我不希望这里所涉及的任何文件。
有没有办法输出到标准输出和另一个进程的标准输入?也就是说,在到达另一个进程的管道之前,是否要输出中间stdout?标准输出到两个管道和控制台?
我知道tee命令可以让你写一个文件,并到stdout,但我不希望这里所涉及的任何文件。
我猜想这有点“哈克”,但您可以将tee
的输出重定向到stderr
。由于大多数节目从stdin
需要输入重定向到stderr
会是同时还通过下一工艺管道离开原来的输出。
例如,
cat file.txt | tee >&2 | wc -l
威尔输出file.txt的的全部内容,并然后输出在file.txt的线(wc -l
)的只是数量。
很明显,这只会在stderr输出到你想要的地方(比如终端/控制台)时才起作用。
不是一个理想的解决方案,因为它涉及到使用stderr
的东西,它不一定适合制成,但它的工作原理。
谢谢你的提示!我找到了另一种解决方案(只需编写一个程序来做到这一点),但这对稍后来这里的人会有帮助。 –
'tee' *是*写入标准输出,它会被下一个'|'的标准输入读取。或者我误解了你的Q? – shellter
@shellter - 对。我希望它去的管道和旧标准输出(即控制台显示器) –