Você pode usar um canal anônimo para o segundo comando:
texcount foo.tex | tee >(sed s/$/'\\'/ > wc.tex)
Eu tenho um programa texcount
que gera o número de palavras no meu documento LaTeX. Eu também posso canalizar a saída disso para sed
para fazer as quebras de linha do NewLine TeX e escrever isso em um arquivo que eu possa incluir no meu documento final. Mas quando eu faço texcount foo.tex | sed s/$/'\\'/ > wc.tex
, a saída da linha de comando de texcount
é suprimida.
Como posso obter a saída do primeiro comando a ser exibido no terminal e canalizado para sed?
Você precisa do comando "tee", que permite dividir os canais.
texcount foo.tex | tee >output.txt | sed s/$/'\\'/ > wc.tex ; cat output.txt
Isso deixaria o arquivo output.txt adicional. Leia isto para mais informações: link Você também pode fazer "man tee".
Você pode usar o bastante idiomático
texcount foo.tex | tee /dev/tty | sed s/$/'\\'/ > wc.tex
/dev/tty
é um dispositivo mágico que se refere ao terminal de controle do processo atual.