Tutorial sulle espressioni regolari di Linux: esempio di grep regex

Cosa sono le espressioni regolari di Linux?

Espressioni regolari di Linux sono caratteri speciali che aiutano a cercare dati e a trovare pattern complessi. Le espressioni regolari sono abbreviate come 'regexp' o 'regex'. Sono utilizzate in molti programmi Linux come grep, bash, rename, sed, ecc.

Tipi di espressioni regolari

Per facilitร  di comprensione impariamo i diversi tipi di Regex uno per uno.

Clicchi Qui. se il video non รจ accessibile

Espressioni regolari di base

Alcuni dei comandi comunemente usati con le espressioni regolari sono tr, sed, vi e grep. Di seguito sono elencate alcune delle Regex di base.

Simbolo Descriptioni
. sostituisce qualsiasi carattere
^ corrisponde all'inizio della stringa
$ corrisponde alla fine della stringa
* corrisponde a zero o piรน volte il carattere precedente
\ Rappresentano caratteri speciali
() Raggruppa le espressioni regolari
? Corrisponde esattamente a un carattere

Vediamo un esempio.

Esegui cat sample per vedere il contenuto di un file esistente

Espressioni regolari di base

Cerca contenuti contenenti la lettera "a".

Espressioni regolari di base

'^' corrisponde all'inizio di una stringa. Cerchiamo il contenuto che INIZIA con a

Espressioni regolari di base

Vengono filtrate solo le righe che iniziano con un carattere. Le righe che non contengono il carattere 'a' all'inizio vengono ignorate.

Diamo un'occhiata a un altro esempio:

Espressioni regolari di base

Seleziona solo le righe che terminano con t utilizzando $

Espressioni regolari di base

Intervallo Espressioni regolari

Queste espressioni ci dicono il numero di occorrenze di un carattere in una stringa. Sono

Espressione Descrizione
{non} Corrisponde esattamente al carattere precedente che appare 'n' volte
{m} Corrisponde al carattere precedente che appare 'n' volte ma non piรน di m
{N, } Corrisponde al carattere precedente solo quando appare "n" volte o piรน

Esempio:

Filtra tutte le righe che contengono il carattere 'p'

Intervallo Espressioni regolari

Vogliamo verificare che il carattere 'p' appaia esattamente 2 volte in una stringa, una dopo l'altra. Per questo la sintassi sarebbe:

cat sample | grep -E p\{2}

Intervallo Espressioni regolari

Nota: devi aggiungere -E con queste espressioni regolari.

Espressioni regolari estese

Queste espressioni regolari contengono combinazioni di piรน di un'espressione. Alcuni di loro sono:

Espressione Descrizione
\+ Corrisponde a una o piรน occorrenze del carattere precedente
\? Corrisponde a zero o una occorrenza del carattere precedente

Esempio:

Ricerca di tutti i caratteri 't'

Espressioni regolari estese

Supponiamo di voler filtrare le righe in cui il carattere 'a' precede il carattere 't'

Possiamo usare il comando like

cat sample|grep "a\+t"

Espressioni regolari estese

Espansione del tutore

La sintassi per l'espansione delle parentesi graffe รจ una sequenza o un elenco di elementi separati da virgole all'interno delle parentesi graffe "{}". Gli elementi iniziali e finali di una sequenza sono separati da due punti โ€œ..โ€.

Qualche esempio:

Espansione del tutore

Negli esempi precedenti, il comando echo crea stringhe utilizzando l'espansione delle parentesi graffe.

Sommario:

  • Le espressioni regolari sono un insieme di caratteri utilizzati per verificare i modelli nelle stringhe
  • Sono anche chiamati "regexp" e "regex"
  • รˆ importante imparare le espressioni regolari per scrivere script
  • Alcune espressioni regolari di base sono:
Simbolo Descriptioni
. sostituisce qualsiasi carattere
^ corrisponde all'inizio della stringa
$ corrisponde alla fine della stringa
  • Alcune espressioni regolari estese sono:
Espressione Descrizione

\+

Corrisponde a una o piรน occorrenze del carattere precedente
\? Corrisponde a zero o una occorrenza del carattere precedente
  • Alcune espressioni regolari a intervalli sono:
Espressione Descrizione
{non} Corrisponde esattamente al carattere precedente che appare 'n' volte
{m} Corrisponde al carattere precedente che appare 'n' volte ma non piรน di m
{N, } Corrisponde al carattere precedente solo quando appare "n" volte o piรน
  • L'espansione delle parentesi graffe viene utilizzata per generare stringhe. Aiuta a creare piรน stringhe da una.

Riassumi questo post con: