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

Letztes Element in einer Zeile mit Grep finden?

Ich versuche, das letzte Wort oder den letzten Satz mit grep für ein bestimmtes Muster zu nehmen. In diesem Beispiel wäre es vom letzten Komma bis zum Ende der Zeile:

Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value

Die gewünschte Ausgabe für diese Linie wäre also „Great Value“. Alle Zeilen sind auch unterschiedlich lang, haben aber immer ein einzelnes Komma vor den letzten Wörtern.

Grundsätzlich möchte ich einfach vom letzten Komma bis zum Zeilenende ausgeben. Vielen Dank!

Akzeptierte Antwort:

Hier:

grep -o '[^,]\+$'
  • [^,]\+ stimmt mit einem oder mehreren Zeichen überein, die nicht , sind am Ende der Zeile ($ )

  • -o druckt nur den passenden Teil

Beispiel:

% grep -o '[^,]\+$' <<<'Blah,3,33,56,5,Foo 30,,,,,,,3,Great Value'
Great Value

Linux
  1. Rogue-Geräte in Ihrem Netzwerk mit Nmap finden

  2. So starten Sie Linux über die Befehlszeile neu

  3. Sortieren nach dem letzten Feld einer Zeile

  4. Ausführbare Dateien mit ls und grep finden

  5. Verwenden Sie einen Index, um grep schneller zu machen?

Lösen Sie Wordle über die Linux-Befehlszeile

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

Bearbeiten von Text in der Befehlszeile mit grep

Tutorial zur Verwendung des letzten Befehls im Linux-Terminal

Finden Sie Text in Dateien unter Linux mit grep

Verwenden von grep vs. awk