Protože množství výstupu je neurčité, nedává smysl pro bash
pro uložení pro opětovné zobrazení. Ale existuje alternativní řešení vašeho problému:
tee
umožňuje duplikovat výstupní proud do souboru. Takže pokud jste ochotni použít soubor pro dočasné uložení, můžete udělat něco takového:
make | tee output.txt
grep "warning" output.txt
Toto řešení zabraňuje spuštění make
dvakrát, což by mohlo být (a) drahé a (b) nekonzistentní:druhá značka může dělat méně práce než ta první, protože některé cíle již byly vytvořeny poprvé.
Poznámka:Toto jsem nezkoušel. Možná si budete muset pohrát se spojováním chybových a výstupních proudů nebo podobně.
Můžete to udělat takto:
make
!! | grep "warning"
Pomocí !!
řeknete mu, aby zopakoval poslední příkaz na tomto místě spolu s dalšími příkazy bash, které k němu chcete přidat.
Nevýhodou je, že pokud příkaz, který opakujete, trvá dlouho, než se provede, budete muset čekat mnohem déle, pokud jste nejprve neuložili výstup předchozího příkazu do výstupního souboru.