Eu descobri recentemente o pacote 'moreutils' no Debian (e Ubuntu) . É uma coleção de ferramentas unix convenientes.
Um dos comandos é 'xixi'. A página do manual diz:
xixi é como tee, mas para tubos.
No entanto, é uma página de manual curta, eu arquivei um bug sobre isso . Alguém sabe o que faz, como usá-lo, por que usá-lo?
stdin
e fornecer clones para todos os scripts que definem o padrão do nome do arquivo, o bash puro pode fazer isso? AFAIU seria expandir o asterisco dentro dos colchetes causando algo como otee >(app1 app2 app3 app4)
que não é o>(app1) >(app2) >(app3) >(app4)
que a sua resposta mostratee >/dev/null
para evitar replicar stdin para stdoutcat file | pee 'grep this' 'grep that' > lines.with.this.or.that.txt
... usando tee você obteria uma cópia dofile
stdout.>(command)
recurso é chamado de substituição de processo .Provavelmente é mais fácil entender se você usou
tee
primeiro. Essa ferramenta antiga e útil leva a entrada padrão e grava em vários arquivos, além da saída padrão. Os seguintes:Criará dois arquivos, nomeados
one
etwo
, ambos contendo a sequênciaHello world
. Também será impresso no seu terminal.Agora
pee
executa uma função semelhante, mas em vez de redirecionar a saída para vários arquivos, ela redireciona para vários comandos secundários, ala pipes. Difere um pouco dotee
fato de não enviar o stdin original para o stdout porque não faria sentido combiná-lo com a saída dos comandos secundários. O seguinte exemplo muito simples:Irá gerar a string
Hello world
para o seu terminal duas vezes. Isso ocorre porque cada uma das duas instâncias decat
recebe a saída padrão e faz o quecat
faz, que é impresso.fonte