有沒有辦法輸出到標準輸出和另一個進程的標準輸入?也就是說,在到達另一個進程的管道之前,是否要輸出中間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 - 對。我希望它去的管道和舊標準輸出(即控制檯顯示器) –