Ich habe eine Anwendung, die eine große Datenmenge produziert, die ich nicht auf der Festplatte speichern möchte. Die Anwendung gibt hauptsächlich Daten aus, die ich nicht verwenden möchte, sondern eine Reihe nützlicher Informationen, die in separate Dateien aufgeteilt werden müssen. Beispielsweise bei folgender Ausgabe:
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Ich könnte die Anwendung dreimal so ausführen:
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Das würde mir bringen, was ich will, aber es würde zu lange dauern. Ich möchte auch nicht alle Ausgaben in einer einzigen Datei ausgeben und diese analysieren.
Gibt es eine Möglichkeit, die drei oben gezeigten Operationen so zu kombinieren, dass ich die Anwendung nur einmal ausführen muss und trotzdem drei separate Ausgabedateien erhalte?
Akzeptierte Antwort:
Wenn Sie T-Shirt haben
./app | tee >(grep A > A.out) >(grep B > B.out) >(grep C > C.out) > /dev/null
(von hier)
(über Prozesssubstitution)