我想將流的 stdout 和 stderr 重定向到螢屏和檔案。為此,我正在使用該工具tee。但是,在該流進入檔案之前,我想使用管道對其進行轉換。到目前為止,我只成功地轉換了進入標準輸出的流。
例子:
echo 'hello' | tee output.txt | tr 'h' 'e'
=> 這將輸出eello到 stdout 并保存hello到 output.txt
但是我想要的是列印hello到標準輸出并保存eello到 output.txt。
注意:更改輸入流不是我的問題的選項。
uj5u.com熱心網友回復:
與bash:
echo 'hello' | tee >(tr 'h' 'e' > output.txt)
隨著bash和Linux:
echo 'hello' | tee /proc/$$/fd/255 | tr 'h' 'e' > output.txt
參見:bash行程中檔案描述符255的用途是什么
uj5u.com熱心網友回復:
你可以在一個awk沒有多個管道的情況下做到這一點:
echo 'hello' | awk '1; {gsub(/h/, "e"); print > "output.txt"}'
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/384433.html
