GNU/Linux >> Tutoriales Linux >  >> Linux

¿Tubo a múltiples archivos en el Shell?

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)


Linux
  1. Poder (Shell) para la gente

  2. Conceptos básicos de Linux:cómo descargar archivos en el Shell con Wget

  3. ¿Cómo cambiar la extensión de varios archivos?

  4. ¿Cómo encontrar múltiples cadenas en archivos?

  5. Cómo BASH Shell carga sus archivos de configuración en Linux

¿Qué es el Shell en Linux?

Dd:¿Múltiples archivos de entrada?

¿Cómo enumerar tipos específicos de archivos en directorios recursivos en Shell?

Búsqueda de una cadena en varios archivos en Linux

¿Cómo puedo recorrer la salida de un comando de shell?

¿Cómo cambio el nombre de los archivos con espacios usando el shell de Linux?