Como copiar a saída anterior do terminal bash para o arquivo

Como copiar a saída anterior do terminal bash para o arquivo

Eu sei como redirecionar a saída de um terminal para um arquivo. Por exemplo, se eu quiser listar todos os arquivos em ~/Documents e gerar a saída para um arquivo chamado test.txt, eu faria o seguinte:

ls ~/Documents > test.txt

A questão é: posso copiar a saída para test.txt DEPOIS de executar o comando? Isso significaria que eu não precisaria saber antecipadamente se desejo copiar a saída para um arquivo. Eu quero fazer algo assim:

ls ~/Documents

Então isso:

<bash command for copying standard output to test.txt>

Qualquer ajuda será apreciada, obrigado.

Responder1

Você poderia usar tee, mas isso não ocorre estritamente depois de executar o comando anterior.

ls ~/Documents | tee test.txt

Gravará a saída em sua sessão de linha de comando normalmente e também em test.txt.

Como alternativa, se você estiver executando no GNU screen, existem comandos para mover-se no buffer de rolagem e copiar/colar. Mais informações emesta pergunta do superusuário.

Responder2

você pode iniciar sua sessão shell em uma janela do Emacs e simplesmente copiar e colar

(você também pode emitir um comando de dentro do vi e montar a saída no buffer vi atual),

ou você pode copiar e colar da janela do xterm,

ou você pode executar sua sessão shell usando script(1) e posteriormente editar a saída da sessão,

ou você pode simplesmente refazer seu comando.

Espero que isso ajude, Klaus

informação relacionada