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
Cerca contenuti contenenti la lettera "a".
'^' corrisponde all'inizio di una stringa. Cerchiamo il contenuto che INIZIA con a
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:
Seleziona solo le righe che terminano con t utilizzando $
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'
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}
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'
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"
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:
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.










