GNU/Linux >> Znalost Linux >  >> Linux

Použití výstupu předchozích příkazů v bash

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.


Linux
  1. Použití Bash pro automatizaci

  2. 5 Linuxových příkazů, které začnu používat

  3. Použití případových prohlášení v Bash

  1. Rozdělit výstup příkazu podle sloupců pomocí Bash?

  2. Jak mohu provést řadu příkazů v subshell bash jako jiný uživatel pomocí sudo?

  3. Automaticky zachytit výstup posledního příkazu do proměnné pomocí Bash?

  1. pomocí náhodného vygenerování náhodného řetězce v bash

  2. Jak časový limit skupiny příkazů v Bash

  3. bash příkazy, které se nevejdou na jednu stránku – umožňují rolování výstupu