GNU/Linux >> Tutoriales Linux >  >> Linux

Usando la salida de comandos anteriores en bash

Dado que la cantidad de salida es indeterminada, no tiene sentido para bash para almacenarlo por usted para volver a mostrarlo. Pero hay una solución alternativa a su problema:

El tee El comando le permite duplicar un flujo de salida en un archivo. Entonces, si está dispuesto a usar un archivo para el almacenamiento temporal, puede hacer algo como esto:

make | tee output.txt
grep "warning" output.txt

Esta solución evita ejecutar make dos veces, lo que podría ser (a) costoso y (b) inconsistente:la segunda marca puede estar haciendo menos trabajo que la primera porque algunos objetivos ya se fabricaron la primera vez.

Nota:No he probado esto. Es posible que deba jugar con la unión de los flujos de error y salida, o algo así.


Podrías hacer esto:

make
!! | grep "warning"

Usando !! le dices que repita el último comando en ese lugar, junto con cualquier otro comando bash que quieras agregarle.

La desventaja es que si el comando que está repitiendo tarda mucho tiempo en ejecutarse, tendrá que esperar mucho más a menos que haya almacenado primero la salida del comando anterior en un archivo de salida.


Linux
  1. 5 comandos de Linux que voy a empezar a usar

  2. Matriz en Bash no encontrada

  3. ¿Cómo puedo ejecutar una serie de comandos en una subcapa bash como otro usuario que usa sudo?

  4. ¿Capture automáticamente la salida del último comando en una variable usando Bash?

  5. usando random para generar una cadena aleatoria en bash

Qué es Git Bash; Trabajar con comandos de Git Bash

Cómo hacer un servidor CS:GO en Linux VPS

Bash:escribir en archivo

Bash Select (hacer menús)

¿Cómo listar carpetas usando comandos bash?

Restaurar ~/.bashrc sin usar comandos bash