Ich habe kürzlich das 'moreutils'-Paket in Debian (und Ubuntu) entdeckt . Es ist eine Sammlung praktischer Unix-Tools.
Einer der Befehle ist "pinkeln". Die Manpage sagt:
Pipi ist wie Tee, aber für Pfeifen.
Wie auch immer, es ist eine kurze Manpage, ich habe einen Fehler gemeldet . Weiß jemand, was es macht, wie man es benutzt, warum man es benutzt?
stdin
um Klone für jedes Skript zu multiplizieren, das das Dateinamenmuster berechnet. Kann pure bash dies tun? AFAIU würde es einen Stern in den Klammern erweitern, der so etwas wietee >(app1 app2 app3 app4)
das verursacht, was>(app1) >(app2) >(app3) >(app4)
Ihre Antwort nicht zeigttee >/dev/null
diese Option, um die Replikation von stdin nach stdout zu vermeidencat file | pee 'grep this' 'grep that' > lines.with.this.or.that.txt
... Mit tee würden Sie nur eine Kopie vonfile
on stdout erhalten.>(command)
Funktion heißt Prozessersetzung .Es ist wahrscheinlich einfacher zu verstehen, wenn Sie
tee
zuerst verwendet haben. Dieses nützliche alte Tool verwendet die Standardeingabe und schreibt in mehrere Dateien sowie die Standardausgabe. Folgende:Erstellt zwei Dateien mit den Namen
one
undtwo
, die beide die Zeichenfolge enthaltenHello world
. Es wird auch auf Ihrem Terminal gedruckt.Führt jetzt
pee
eine ähnliche Funktion aus, leitet die Ausgabe jedoch nicht mehr an mehrere Dateien, sondern an mehrere sekundäre Befehle, ala Pipes, weiter. Es unterscheidet sich geringfügig davon,tee
dass es das ursprüngliche stdin nicht an stdout sendet, da es keinen Sinn macht, es mit der Ausgabe der sekundären Befehle zu kombinieren. Das folgende sehr einfache Beispiel:Gibt den String
Hello world
zweimal an Ihr Terminal aus. Dies liegt daran, dass jede der beiden Instanzen voncat
die Standardausgabe empfängt und dascat
ausführt, was gedruckt wird.quelle