Como anexar a saída a um arquivo?


125

Como posso fazer algo do tipo command > fileque ele anexa ao arquivo, em vez de sobrescrever?


1
(Há muitos e muitos - talvez demasiados - guloseimas no manual de referência do bash , incluindo todos os tipos de redirecionamentos Ajuste conforme necessário para shell..)

4
Você também pode usar tee, se desejar redirecionar para STDOUT e anexar resultados a um arquivo. Por exemplo: eco "olá" | tee -a somefile.txt, onde o sinalizador -a significa anexar.
Henrik

Respostas:



103

Sim.

command >> filepara redirecionar apenas stdout de command.

command >> file 2>&1redirecionar stdout e stderr para o arquivo (funciona no bash, zsh)

E se você precisar usar sudo, lembre-se de que apenas

sudo command >> /file/requiring/sudo/privilegesnão funciona, pois a elevação de privilégio se aplica à commandparte de redirecionamento de shell, mas não à shell. No entanto, o simples uso teeresolve o problema:

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


6
Estou usando isso para toda a captura de saída program.sh 2> & 1 | tee -a screen.log. "-a" significa anexar.
Xdg 17/07/2014

-3

você pode anexar o arquivo com o sinal >>. Ele insere o conteúdo no último arquivo que estamos usando.

após o processo acima, o myfile contém xyzabc.


4
O >>operador já foi mencionado três anos antes e o OP sabe o que significa anexar.
Dan Dascalescu 13/09/16
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.