Salve a saída em um arquivo de texto no terminal Mac

19

Como eu poderia inserir um comando, digamos, system_profiler, e salvar a saída em algum lugar do meu computador?

JShoe
fonte

Respostas:

38

Simplesmente com o redirecionamento de saída :

system_profiler > file.txt

Basicamente, isso pegará a saída system_profilere salvará no arquivo file.txt. Tecnicamente, existem dois "fluxos" de saída diferentes, saída padrão e erro padrão. Eles são tratados separadamente e, se você usar o método de redirecionamento simples acima, você redirecionará apenas a saída padrão para o arquivo. Se você deseja redirecionar a saída padrão e o erro padrão, você pode fazer o seguinte:

system_profiler &> file.txt

O &comando diz ao shell para redirecionar a saída padrão e o erro padrão para o arquivo.

Se você quiser apenas gerar um erro padrão, faça o seguinte:

system_profiler 2> file.txt

O 2permite que o shell sabe que ele só precisa redirecionar o erro padrão.

Usar o >sobrescreverá o arquivo, se ele já estiver lá. Se você deseja anexá-lo a um arquivo sem apagar o antigo, use >>:

system_profiler >> file.txt

Obviamente, você pode usar o &e 2para enviar erro padrão e padrão e apenas erro padrão com o >>operador.

Wuffers
fonte
2
& >> parece não funcionar no Mac Bash versão 3.2.48 (1) -release (x86_64-apple-darwin11). Eu quando eu tento, diz -bash: syntax error near unexpected token >. Tudo o resto funciona.
Nacht
3

Redirecionamento.

awesomo > somefile.txt
Ignacio Vazquez-Abrams
fonte