Ho un'applicazione che produrrà una grande quantità di dati che non desidero archiviare sul disco. L'applicazione emette principalmente dati che non desidero utilizzare, ma un insieme di informazioni utili che devono essere suddivise in file separati. Ad esempio, dato il seguente output:
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Potrei eseguire l'applicazione tre volte in questo modo:
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Questo mi darebbe quello che voglio, ma ci vorrebbe troppo tempo. Inoltre, non voglio scaricare tutti gli output in un singolo file e analizzarlo.
C'è un modo per combinare le tre operazioni mostrate sopra in modo tale da dover eseguire l'applicazione solo una volta e ottenere comunque tre file di output separati?
Risposta accettata:
Se hai tee
./app | tee >(grep A > A.out) >(grep B > B.out) >(grep C > C.out) > /dev/null
(da qui)
(sulla sostituzione del processo)