J'ai récemment découvert le paquet «moreutils» dans Debian (et Ubuntu) . C'est une collection d'outils Unix pratiques.
L'une des commandes est «pipi». La page de manuel indique:
pipi est comme tee mais pour les tuyaux.
Cependant, c'est une courte page de manuel, j'ai déposé un bug à ce sujet . Est-ce que quelqu'un sait ce qu'il fait, comment l'utiliser, pourquoi on l'utiliserait?
stdin
et donner des clones à chaque script correspondant au modèle de nom de fichier, est-ce que bash pur peut le faire? AFAIU, cela développerait un astérisque à l'intérieur des crochets causant quelque chose commetee >(app1 app2 app3 app4)
ce qui n'est pas ce>(app1) >(app2) >(app3) >(app4)
que votre réponse montretee >/dev/null
pour éviter de répliquer stdin en stdoutcat file | pee 'grep this' 'grep that' > lines.with.this.or.that.txt
... en utilisant tee, vous obtiendrez juste une copie defile
sur stdout.>(command)
fonctionnalité est appelée substitution de processus .Il est probablement plus facile de comprendre si vous l'avez utilisé en
tee
premier. Cet ancien outil utile prend l'entrée standard et écrit dans plusieurs fichiers, ainsi que la sortie standard. Le suivant:Va créer deux fichiers, nommés
one
ettwo
contenant tous deux la chaîneHello world
. Il sera également imprimé sur votre terminal.Exécute maintenant
pee
une fonction similaire, mais au lieu de rediriger la sortie vers plusieurs fichiers, il redirige vers plusieurs commandes secondaires, ala pipes. Il diffère légèrement dutee
fait qu'il n'envoie pas le stdin d'origine à stdout car cela n'aurait aucun sens de le combiner avec la sortie des commandes secondaires. L'exemple très simple suivant:Sortira la chaîne
Hello world
sur votre terminal deux fois. En effet, chacune des deux instances decat
reçoit la sortie standard et fait cecat
qui est imprimé.la source