我將示例文本存盤在test.sh:
echo 'Hello world 123'
echo 'some other text'
在 bash 腳本中使用以下命令:
word123=$(./test.sh |sed -nr 's/Hello world (.*)/\1/p' )
這可以正常作業并輸出:
123
但是,這確實輸出
Hello world 123
some other text
有沒有辦法捕獲文本123并輸出檔案中的其他所有內容?
uj5u.com熱心網友回復:
使用Linux,bash以及tee:
word123=$( ./test.sh | tee >&255 >(sed -nr 's/Hello world (.*)/\1/p') )
檔案描述符 255 是標準輸出的非重定向副本。
參見:bash行程中檔案描述符255的用途是什么
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/315319.html
上一篇:指向在函式內創建的區域變數的指標
