0Pricing
Linux Command Line & Bash Scripting Mastery · Lezione

Gruppi di cattura, backreference e sostituzione

Utilizzi le parentesi per catturare parti di una corrispondenza e riutilizzarle con le backreference, ottenendo un potente strumento per il matching e la sostituzione del testo.

Gruppi di cattura, backreference e sostituzione è una lezione Linux Command Line & Bash Scripting Mastery gratuita su CoddyKit. Questa è la lezione 4 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 Linux Command Line & Bash Scripting Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Che cosa sono i gruppi di cattura?

Le parentesi ( ) creano un gruppo di cattura che conserva il testo corrispondente, così può essere referenziato in seguito.

echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"

Numerazione dei gruppi

I gruppi vengono numerati da sinistra a destra in base alla parentesi di apertura. Il gruppo 1 è il primo (, il gruppo 2 il secondo e così via.

# (year)(month)(day)
# group 1 = year, 2 = month, 3 = day

Riferimenti all'indietro nella ricerca

Un riferimento all'indietro come \1 corrisponde allo STESSO testo catturato in precedenza da un gruppo. È molto utile per trovare duplicati.

echo "hello world world" | grep -E "(\w+) \1"

Rilevare le parole raddoppiate

Il modello (\w+) \1 trova una parola seguita da sé stessa, un errore di battitura comune.

echo "the the cat sat" | grep -oE "(\w+) \1"

Gruppi di cattura con sed

Nelle sostituzioni di sed, i gruppi catturati vengono riutilizzati nella parte sostitutiva come \1, \2. Usi -E per le espressioni regolari estese.

echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"

Scambiare i campi

Catturi due campi e li riordini nella sostituzione per trasformare i formati dei dati.

echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"

Il concetto di gruppo non catturante

A volte si raggruppa solo per applicare un quantificatore, non per catturare. In PCRE può scrivere (?:...) per evitare la numerazione.

# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"

Alternanza all'interno dei gruppi

Combini i gruppi con l'alternanza | per trovare una delle varie opzioni continuando a catturare il risultato.

echo "cat dog fish" | grep -oE "(cat|dog)"

Quantificare un gruppo

Applichi i quantificatori a un gruppo intero per ripetere un modello. (ab)+ corrisponde a una o più sequenze ab.

echo "ababab" | grep -oE "(ab)+"

Catturare con awk

awk usa match() con RSTART e RLENGTH per estrarre la porzione corrispondente.

echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"

Riformattazione pratica

I gruppi di cattura sono particolarmente utili per riformattare i log o le colonne CSV in un nuovo layout in un unico passaggio.

echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"

Verifica rapida

Verifichi la Sua conoscenza dei gruppi di cattura.

Riepilogo

Ha acquisito padronanza dei gruppi di cattura:

  • Le parentesi catturano e numerano il testo corrispondente
  • I riferimenti all'indietro \1 corrispondono nuovamente allo stesso testo
  • In sed, riutilizzi i gruppi nelle sostituzioni per riordinare i campi
  • Quantifichi e alterni gli elementi all'interno dei gruppi per creare modelli flessibili

Domande Frequenti

La lezione «Gruppi di cattura, backreference e sostituzione» è gratuita?

Sì — il testo completo di «Gruppi di cattura, backreference e sostituzione» è 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 Linux Command Line & Bash Scripting Mastery, passa a CoddyKit PRO. Il corso Linux Command Line & Bash Scripting Mastery include 4 lezioni in totale.

Cosa imparerò in «Gruppi di cattura, backreference e sostituzione»?

Utilizzi le parentesi per catturare parti di una corrispondenza e riutilizzarle con le backreference, ottenendo un potente strumento per il matching e la sostituzione del testo. Eserciti Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?

Non è richiesta alcuna esperienza precedente. Linux Command Line & Bash Scripting Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Gruppi di cattura, backreference e sostituzione»?

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 Linux Command Line & Bash Scripting Mastery?

Sì. Ogni lezione Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery