0Pricing
DevOps Bootcamp · Lezione

Grep avanzato con le espressioni regolari

Applichi pattern regex complessi con «grep» per eseguire ricerche testuali altamente mirate ed efficienti nei file.

Grep avanzato con le espressioni regolari è una lezione DevOps Bootcamp gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento DevOps Bootcamp, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso DevOps Bootcamp include 4 lezioni in totale.

I superpoteri delle regex di grep

Benvenuto nelle funzionalità avanzate di grep con le regex! Nella lezione precedente abbiamo imparato a conoscere le espressioni regolari (regex). Ora ne sfrutteremo appieno il potenziale all'interno del potente comando grep.

grep è lo strumento di riferimento per cercare schemi di testo nei file. Combinandolo con le regex avanzate, può individuare esattamente ciò che cerca, per quanto complesso sia lo schema.

Abilitare le regex estese (-E)

Per impostazione predefinita, grep usa le espressioni regolari di base (BRE). Per usare funzionalità più avanzate come +, ?, | e (), è necessario abilitare le espressioni regolari estese (ERE).

È possibile farlo usando l'opzione -E oppure il comando egrep, che in sostanza equivale a grep -E. Creiamo un file di esempio su cui lavorare:

echo "apple
banana
appanana
orange
app" > fruits.txt

Quantificatori: una o più (+)

Il quantificatore + corrisponde a una o più occorrenze del carattere o del gruppo precedente. È molto utile quando si prevede che uno schema si ripeta almeno una volta.

Ad esempio, per trovare le righe con una 'p' seguita da una o più 'a', si usa pa+.

grep -E 'pa+' fruits.txt

Quantificatori: zero o più (*)

Il quantificatore * corrisponde a zero o più occorrenze del carattere o del gruppo precedente. È utile quando un carattere può essere presente, ma non è strettamente necessario.

Troviamo le righe con una 'b' seguita da zero o più 'a':

grep -E 'ba*' fruits.txt

Quantificatori: zero o una (?)

Il quantificatore ? corrisponde a zero o una occorrenza del carattere o del gruppo precedente. Lo si può considerare un modo per rendere facoltativo un carattere.

Vuole trovare sia 'color' sia 'colour'? Può rendere facoltativa la 'u':

echo "color
colour
coor" > words.txt
grep -E 'colou?r' words.txt

Conteggi specifici con {} (parentesi graffe)

Per un controllo ancora maggiore, è possibile specificare conteggi esatti o intervalli usando le parentesi graffe {}:

  • a{3}: esattamente tre 'a'.
  • a{2,}: due o più 'a'.
  • a{1,3}: da una a tre 'a'.

Troviamo le righe con la 'a' ripetuta esattamente due volte:

grep -E 'a{2}' fruits.txt

Ancore: inizio e fine (^, $)

Le ancore non corrispondono ai caratteri, ma alle posizioni. L'ancora ^ corrisponde all'inizio di una riga, mentre $ corrisponde alla fine di una riga.

Questo è fondamentale per assicurarsi che lo schema corrisponda all'intera riga o inizi/termini esattamente nel punto desiderato.

  • ^apple: righe che iniziano con 'apple'.
  • banana$: righe che terminano con 'banana'.
  • ^apple$: righe contenenti solo 'apple'.
grep -E '^app' fruits.txt

Alternanza con OR (|)

Il simbolo | (pipe) funziona come operatore OR. Consente di far corrispondere uno schema O un altro. È estremamente utile per cercare contemporaneamente più parole o frasi distinte.

Ad esempio, per trovare le righe contenenti 'apple' oppure 'orange':

grep -E 'apple|orange' fruits.txt

Raggruppare gli schemi con ()

Le parentesi () servono a raggruppare parti di un'espressione regolare. In questo modo è possibile applicare quantificatori o alternanza a un intero gruppo, non solo a un singolo carattere.

Ad esempio, per trovare 'ana' una o più volte dopo 'b':

grep -E 'b(ana)+' fruits.txt

Verifica rapida: grep avanzato

Dato il file data.txt contenente:

cat
cats
catt
catterpillar
dog

Quale comando troverebbe correttamente le righe che contengono 'cat' seguito da zero o più 't'?

Riepilogo: la potenza delle regex di grep

Ha acquisito padronanza delle tecniche avanzate di grep usando le espressioni regolari estese! Abbiamo visto:

  • L'uso di -E per le funzionalità delle regex estese.
  • Quantificatori: + (una o più), * (zero o più), ? (zero o una) e {} per conteggi specifici.
  • Ancore: ^ (inizio della riga) e $ (fine della riga).
  • Alternanza | per le condizioni 'OR'.
  • Raggruppamento degli schemi con ().

Questi strumenti consentono di eseguire ricerche nel testo incredibilmente precise e flessibili, trasformandola in un vero mago della riga di comando!

Domande Frequenti

La lezione «Grep avanzato con le espressioni regolari» è gratuita?

Sì — il testo completo di «Grep avanzato con le espressioni regolari» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso DevOps Bootcamp, passa a CoddyKit PRO. Il corso DevOps Bootcamp include 4 lezioni in totale.

Cosa imparerò in «Grep avanzato con le espressioni regolari»?

Applichi pattern regex complessi con «grep» per eseguire ricerche testuali altamente mirate ed efficienti nei file. Eserciti DevOps Bootcamp con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare DevOps Bootcamp?

Non è richiesta alcuna esperienza precedente. DevOps Bootcamp su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Grep avanzato con le espressioni regolari»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione DevOps Bootcamp?

Sì. Ogni lezione DevOps Bootcamp include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Introduzione alle espressioni regolari (Regex)
  2. Grep avanzato con le espressioni regolari
  3. Combinare le espressioni regolari con sed/awk
  4. Gruppi di cattura, backreference e sostituzione
← Torna a DevOps Bootcamp