GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann man GREP dazu bringen, nur numerische Werte auszuwählen?

grep druckt alle Zeilen passend zu dem von Ihnen bereitgestellten Muster. Wenn Sie nur den Teil der Linie drucken möchten, der dem Muster entspricht, können Sie das -o übergeben Möglichkeit:

-o, --only-matching Gibt nur die übereinstimmenden (nicht leeren) Teile einer übereinstimmenden Zeile aus, wobei jeder dieser Teile in einer separaten Ausgabezeile steht.

So:

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

Wenn Sie versuchen:

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

Es gibt zurück:

99

Hier sind die Details zu -o (oder --only-matching flag) funktioniert von der grep manpage.

Gibt nur die übereinstimmenden (nicht leeren) Teile übereinstimmender Zeilen aus, wobei jeder dieser Teile in einer separaten Ausgabezeile angezeigt wird. Ausgabezeilen verwenden dieselben Begrenzer wie Eingaben, und Begrenzer sind Nullbytes, wenn -z (--null-data) ebenfalls verwendet wird (siehe Andere Optionen).


Wie wäre es mit:

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

Linux
  1. Grep für eine Zeile, die nur 5 oder 6 Zahlen enthält?

  2. Wie mache ich Programm-Autostart nur in Gnome?

  3. Linux-Befehl:Wie findet man nur Textdateien?

  4. Wie verwende ich Regex Match End of Line in Windows?

  5. Linux-Befehlszeile:du --- wie man dafür sorgt, dass nur die Summe für jedes Verzeichnis angezeigt wird

So kommentieren Sie in Bash

So führen Sie eine Mustersuche in Dateien mit Grep durch

Wie man den Befehl „grep“ gut nutzt

Eine Zeile nur an eine Datei anhängen, wenn sie noch nicht existiert

Wie verwende ich sed, um nur doppelte Leerzeilen zu entfernen?

Wie verkettet man mehrere Ausgabezeilen zu einer Zeile?