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.