2011-03-17 151 views
107

我怎樣才能以command > file這樣的方式附加到文件而不是覆蓋?如何將輸出附加到文件?

+1

(有很多很多 - 也許太多了!) - [bash參考手冊](http://www.gnu.org/software/bash/manual/bashref.html)的好東西,包括所有根據需要調整外殼。) – 2011-03-17 17:31:39

+4

如果您想重定向到STDOUT並將結果追加到文件中,您也可以使用T恤。例如:echo「hello」| tee -a somefile.txt,其中-a標誌代表追加。 – Henrik 2011-10-18 12:03:35

+0

可能的重複[如何重定向並將stdout和stderr追加到帶有Bash的文件?](https://stackoverflow.com/questions/876239/how-can-i-redirect-and-append-both-stdout和-stderr -a-file-with-bash) – jww 2018-01-03 02:42:53

回答

180

使用>>追加:

command >> file 
93

呀。

command >> file只重定向標準輸出command

command >> file 2>&1重定向標準輸出標準錯誤到文件(在bash作品,zsh中)

如果你需要使用sudo,請記住,僅僅

sudo command >> /file/requiring/sudo/privileges不起作用,而是簡單地使用 tee解決了這個問題:

command | sudo tee -a /file/requiring/sudo/privileges

+6

我正在使用此輸出捕獲所有輸出program.sh 2>&1 | tee -a screen.log。 「-a」代表追加。 – Xdg 2014-07-17 18:38:03

-1

您可以用>>符號附加文件。它在最後,如果文件讓它的名字是我們using.e.g文件的插入內容MYFILE包含XYZ然後 貓>> myfile的 ABC CTRL d

上述方法中,MYFILE包含XYZABC後。

+3

早在三年前就提到過'>>'操作符,而操作系統知道哪些附加手段。 – 2016-09-13 05:51:08

相關問題