Poiché la quantità di output è indeterminata, non ha senso per bash
per memorizzarlo per te per la ri-visualizzazione. Ma c'è una soluzione alternativa al tuo problema:
Il tee
Il comando consente di duplicare un flusso di output in un file. Quindi, se sei disposto a utilizzare un file per l'archiviazione temporanea, puoi fare qualcosa del genere:
make | tee output.txt
grep "warning" output.txt
Questa soluzione evita di eseguire make
due volte, il che potrebbe essere (a) costoso e (b) incoerente:la seconda marca potrebbe svolgere meno lavoro della prima perché alcuni obiettivi sono già stati raggiunti la prima volta.
Nota:non ho provato questo. Potrebbe essere necessario giocherellare con l'unione dei flussi di errore e di output, o simili.
Potresti fare così:
make
!! | grep "warning"
Usando !!
gli dici di ripetere l'ultimo comando in quel punto, insieme a qualsiasi altro comando bash che desideri aggiungere.
Lo svantaggio è che se il comando che stai ripetendo richiede molto tempo per essere eseguito, dovrai aspettare molto più tempo a meno che tu non abbia prima memorizzato l'output del comando precedente in un file di output.