如何將 bash 終端機的先前輸出複製到文件

如何將 bash 終端機的先前輸出複製到文件

我知道如何將終端的輸出重定向到檔案。例如,如果我想列出 ~/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 會話,然後編輯會話輸出,

或者你可以簡單地重做你的命令。

我希望這有幫助,克勞斯

相關內容