
我知道如何將終端的輸出重定向到檔案。例如,如果我想列出 ~/Documents 中的所有文件並輸出到名為 test.txt 的文件,我會這樣做:
ls ~/Documents > test.txt
問題是,執行指令後我可以將輸出複製到 test.txt 嗎?這意味著我不必提前知道是否要將輸出複製到檔案。我想做這樣的事情:
ls ~/Documents
然後這個:
<bash command for copying standard output to test.txt>
任何幫助將不勝感激。
答案1
您可以使用tee
,但嚴格來說這並不是運行上一個命令之後。
ls ~/Documents | tee test.txt
將正常將輸出寫入命令列會話,並將其寫入 test.txt。
或者,如果您在 GNU 中運行screen
,則可以使用一些命令在回滾緩衝區中移動並複製/貼上。更多資訊在這個超級用戶問題。
答案2
您可以在 Emacs 視窗中啟動 shell 會話,然後只需複製並貼上
(您也可以從 vi 發出指令並將輸出組裝到目前 vi 緩衝區),
或者您可以從 xterm 視窗複製並貼上,
或者您可以使用 script(1) 執行 shell 會話,然後編輯會話輸出,
或者你可以簡單地重做你的命令。
我希望這有幫助,克勞斯