Como posso capturar texto do meu terminal sem redirecioná-lo para um arquivo de texto?

4

Basicamente, o que eu gostaria de fazer é, em vez de apenas redirecionar a saída do meu comando de terminal para um arquivo, eu gostaria de ter a informação também mostrada na sessão de terminal.

Se eu usar ~ $ command > output.log Não consigo mais ver o processo de comando na janela do terminal e, portanto, não sei quando o comando terminou o processamento sem olhar o arquivo output.log. Os comandos que executo demoram alguns minutos para processar e produzir um pouco de saída. (daí eu querer capturar essa saída) Alguma sugestão?

    
por Themiddaysun 22.05.2012 / 18:20

3 respostas

6

A resposta para sua pergunta é tee . Basta usar | tee [output file] em vez de > [output file]

Assim, sudo apt-get update > out.log torna-se sudo apt-get update | tee out.log .

Para mais informações: LinuxQuestion.org: BASH: Como redirecionar a saída para o arquivo, e ainda tê-lo na tela , Linux por Exemplos: Como redirecionar a saída para um arquivo, bem como exibi-lo .

    
por moewe 22.05.2012 / 18:26
3

Você pode usar tee .

Exemplo: $ls 2>&1 | tee text.txt

Isso imprimirá a saída do comando no arquivo de log, bem como no Terminal.

    
por harisibrahimkv 22.05.2012 / 18:27
2

command |tee output.log imprime e captura.

    
por Mahesh 22.05.2012 / 18:27