GNU/Linux >> Tutoriales Linux >  >> Linux

Combine múltiples comandos de Unix en una sola salida

Otra forma es

{ grep ...; bzgrep ...;} >file

&& tiene la dificultad de que el bzgrep no se ejecutaría si grep fallado.

Tenga en cuenta el espacio obligatorio después de la llave de apertura y el punto y coma después del último comando. Alternativamente, puede usar la sintaxis de la subcapa (paréntesis en lugar de llaves), que no es tan exigente:

(grep ...; bzgrep ...) >file

bzgrep cambia automáticamente a grep regular si un archivo no está comprimido con bzip. Por lo tanto, lo siguiente debería ser suficiente:

bzgrep [email protected] maillog *bz2 | mail -s "logs yay" [email protected]

oh, también, por supuesto, aquí está mi solución GNU Parallel obligatoria también:

parallel -m bzgrep [email protected] ::: maillog* *bz2 | mail -s "logs yay" [email protected]

lo que podría ser mucho más rápido si está revisando muchos archivos.


Aquí hay otra forma de hacerlo (asumiendo que está ejecutando bash, que probablemente es así):

cat <(bzgrep ...) <(grep ...)

Aquí bash está alimentando de forma transparente la salida de los comandos bzgrep y grep a cat como si fueran archivos (y están debajo del capó, los detalles en la URL en la parte inferior).

En tu caso particular, recomendaría la solución de Phil, pero la anterior es un buen truco para tener en tu bolso.

Si está interesado, puede leer más aquí:http://www.tldp.org/LDP/abs/html/process-sub.html


Linux
  1. ¿Cómo fusionar varias conexiones a Internet en una sola?

  2. Combinar/convertir múltiples archivos PDF en un solo PDF

  3. Ejecute combinar múltiples comandos de Linux en una línea

  4. ¿Cómo dividir un archivo de texto en varios archivos *.txt?

  5. Cómo pasar la salida del comando como múltiples argumentos a otro comando

Cómo unir varias líneas en una en un archivo en Linux

Cómo ejecutar múltiples comandos de Linux en un solo comando

Cómo combinar varios archivos PDF en un solo PDF en Linux

Cómo unir/combinar varios archivos de audio en uno solo en Linux

3 métodos para ver la salida tail -f de múltiples archivos de registro en una terminal

Cómo agregar contenidos de múltiples archivos en un archivo