É possível mostrar a saída no terminal ao gravar a saída de um comando em um arquivo? [duplicado]

0

Eu estou executando um comando dizer nmap www.somesite.com>file.txt para que eu possa obter a saída para file.txt. Mas se eu fizer isso, não consigo ver a saída desse comando no terminal. É possível torná-lo visível no terminal também.

Eu sei o uso de tee , mas gostaria de fazer isso especificamente dessa maneira.

    
por Anandu M Das 11.12.2014 / 12:50

3 respostas

-1

Não é possível ver a linha de comando e o processo de redirecionamento ao mesmo tempo

Mas você pode usar o seguinte comando para usar o processo em seqüência

nmap www.somesite.com && nmap www.somesite.com > file.txt

Primeiro, ele executará o comando no terminal e salvará a saída como um arquivo

Espero que isso ajude!

    
por vembutech 11.12.2014 / 13:07
3

tee foi projetado para dividir STDIN em um arquivo e voltar para STDOUT .

Em termos simples, basta passar por ele da seguinte maneira:

nmap www.somesite.com | tee file.txt

A alternativa atual aceita envolve a execução de nmap duas vezes, o que é uma ideia horrível.
Seria melhor executá-lo uma vez para arquivar e, em seguida, exibir o arquivo.

nmap www.somesite.com > file.txt; cat file.txt
    
por Oli 11.12.2014 / 13:14
1

É exatamente para isso que serve tee . Por que você não quer usar isso?

Uma alternativa pode ser capturar a saída e fazer o eco duas vezes:

output=$(nmap localhost)
echo "$output"
echo "$output" > somefile.txt

No entanto, no caso especial do nmap, você pode aproveitar a opção de saída -ox:

% bl0ck_qu0te%

Por exemplo:

nmap -oN somefile.txt localhost

Parece fazer exatamente o que você quer: saída para o terminal e também gravar no arquivo.

    
por mivk 11.12.2014 / 13:29