GNU/Linux >> Linux Esercitazione >  >> Linux

Trovare l'ultimo elemento di una riga usando Grep?

Sto cercando di prendere l'ultima parola o frase usando grep per uno schema specifico. In questo esempio, sarebbe dall'ultima virgola alla fine della riga:

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

E quindi l'output desiderato per quella linea sarebbe "Great Value". Tutte le righe hanno anche lunghezze diverse, ma hanno sempre una virgola prima delle ultime parole.

Fondamentalmente, vorrei semplicemente emettere dall'ultima virgola alla fine della riga. Grazie!

Risposta accettata:

Qui:

grep -o '[^,]\+$'
  • [^,]\+ corrisponde a uno o più caratteri che non sono , alla fine della riga ($ )

  • -o stampa solo la parte corrispondente

Esempio:

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

Linux
  1. Trovare dispositivi canaglia nella tua rete usando Nmap

  2. Come riavviare Linux utilizzando la riga di comando

  3. Usando grep per cercare al contrario

  4. Ordinamento sull'ultimo campo di una riga

  5. grep senza mostrare percorso/file:riga

Risolvi Wordle usando la riga di comando di Linux

Come eseguire la ricerca del modello nei file utilizzando Grep

Manipolazione del testo dalla riga di comando con grep

Tutorial sull'utilizzo dell'ultimo comando nel terminale Linux

Trova testo nei file su Linux usando grep

Come leggere l'ultima riga di un file di testo in una variabile usando Bash?