Redireciona a saída de um comando para dois arquivos diferentes [duplicado]

5

Eu sei que posso usar tee, mas não quero que a saída seja impressa na tela; Eu quero que seja impresso apenas para o arquivo.

Exemplo:

ls > pk.txt 

Agora, outro arquivo chamado praveen também deve ser criado.

    
por praveen 13.05.2014 / 11:57

2 respostas

6

Use tee(1) para gravar em dois arquivos e descartar o stdout:

ls | tee pk.txt praveen >/dev/null

Edit2: Como apontado por Stephane e Thomas, por causa de como o tee funciona, esta é uma versão melhor e resulta em menos gravações:

ls | tee pk.txt > praveen
    
por 13.05.2014 / 12:11
2

com zsh :

ls > file1 > file2

(internamente, zsh cria um canal e gera um processo que lê esse canal e grava nos dois arquivos como tee . ls stdout é a outra extremidade do canal).

    
por 13.05.2014 / 12:18