Tengo una aplicación que producirá una gran cantidad de datos que no deseo almacenar en el disco. La aplicación genera principalmente datos que no deseo usar, pero un conjunto de información útil que debe dividirse en archivos separados. Por ejemplo, dado el siguiente resultado:
JUNK
JUNK
JUNK
JUNK
A 1
JUNK
B 5
C 1
JUNK
Podría ejecutar la aplicación tres veces así:
./app | grep A > A.out
./app | grep B > B.out
./app | grep C > C.out
Esto me daría lo que quiero, pero tomaría demasiado tiempo. Tampoco quiero volcar todas las salidas en un solo archivo y analizarlo.
¿Hay alguna forma de combinar las tres operaciones que se muestran arriba de tal manera que solo necesite ejecutar la aplicación una vez y aún así obtener tres archivos de salida separados?
Respuesta aceptada:
Si tienes tee
./app | tee >(grep A > A.out) >(grep B > B.out) >(grep C > C.out) > /dev/null
(desde aquí)
(sobre la sustitución de procesos)