出力をファイルに追加する方法は?


125

command > file上書きするのではなく、ファイルに追加するような方法でどうすればよいですか?


1
bashリファレンスマニュアルには、あらゆる種類のリダイレクトが含まれています。シェルの必要に応じて調整してください。)

4
STDOUTにリダイレクトし、結果をファイルに追加する場合は、teeを使用することもできます。例:echo "hello" | tee -asomefile.txt。-aフラグは追加を表します。
Henrik

回答:



103

うん。

command >> fileただリダイレクトする標準出力command

command >> file 2>&1stdoutstderrをファイルにリダイレクトする(bash、zshで機能)

また、を使用する必要がある場合はsudo

sudo command >> /file/requiring/sudo/privileges特権の昇格はcommandシェルのリダイレクト部分には適用されるが適用されないため、機能しません。ただし、単にを使用 teeすると問題が解決します。

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


6
これをすべての出力キャプチャプログラムに使用しています。sh2>&1 | tee -a screen.log。「-a」は追加を意味します。
Xdg 2014

-3

>>記号を付けてファイルを追加できます。これは、使用しているファイルの最後に内容を挿入します。たとえば、ファイルの名前がmyfileの場合、ファイルはxyzを含み、次に猫>> myfile abc ctrl d

上記のプロセスの後、myfileにはxyzabcが含まれます。


4
>>オペレータは、すでに3年前に述べた、とOPは、付加手段を知っています。
Dan Dascalescu 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.