GNU/Linux >> Znalost Linux >  >> Linux

Jak přimět GREP, aby vybral pouze číselné hodnoty?

grep vytiskne všechny řádky odpovídající vzoru, který poskytujete. Pokud chcete vytisknout pouze část čáry, která odpovídá vzoru, můžete předat -o možnost:

-o, --only-matching Vytiskněte pouze odpovídající (neprázdné) části odpovídající řádky, přičemž každá taková část bude na samostatném výstupním řádku.

Takhle:

echo 'Here is a line mentioning 99% somewhere' | grep -o '[0-9]+'

Pokud to zkusíte:

 echo "99%" |grep -o '[0-9]*'

Vrací:

99

Zde jsou podrobnosti o -o (nebo --only-matching flag) funguje z manuálové stránky grep.

Vytiskněte pouze odpovídající (neprázdné) části odpovídajících řádků, přičemž každá taková část bude na samostatném výstupním řádku. Výstupní řádky používají stejné oddělovače jako vstup a oddělovače jsou prázdné bajty, pokud je také použito -z (--null-data) (viz Další možnosti).


Co třeba:

df . -B MB | tail -1 | awk {'print $4'} | cut -d'%' -f1

Linux
  1. Grep pro řádek obsahující pouze 5 nebo 6 čísel?

  2. Jak vytvořit adresáře pouze pro výstup stromu?

  3. Jak mohu přimět grep, aby vytiskl řádky pod a nad každým odpovídajícím řádkem?

  1. Příkaz Linux:Jak „najít“ pouze textové soubory?

  2. Jak používat regulární výraz na konci řádku ve Windows?

  3. linuxový příkazový řádek:du --- jak to udělat, aby zobrazoval pouze celkový počet pro každý adresář

  1. Jak zajistit automatické spouštění programu pouze v Gnome?

  2. Jak mohu grep rekurzivně?

  3. Připojení řádku k souboru pouze v případě, že ještě neexistuje