Grupos de Captura, Retroreferências e Substituição
Utilize parênteses para capturar partes de uma correspondência e reutilize-as com retroreferências para obter correspondências e substituições de texto avançadas.
Grupos de Captura, Retroreferências e Substituição é uma aula grátis de Linux Command Line & Bash Scripting Mastery no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Linux Command Line & Bash Scripting Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Command Line & Bash Scripting Mastery inclui 4 aulas no total.
O que são grupos de captura?
Os parênteses ( ) criam um grupo de captura que armazena o texto correspondente para que você possa referenciá-lo depois.
echo "2026-05-29" | grep -E "([0-9]{4})-([0-9]{2})-([0-9]{2})"Numeração dos grupos
Os grupos são numerados da esquerda para a direita, de acordo com o parêntese de abertura. O grupo 1 é o primeiro (, o grupo 2 é o segundo, e assim por diante.
# (year)(month)(day)
# group 1 = year, 2 = month, 3 = dayReferências retroativas na correspondência
Uma referência retroativa, como \1, corresponde ao texto SAME capturado anteriormente por um grupo. É excelente para encontrar duplicatas.
echo "hello world world" | grep -E "(\w+) \1"Detectando palavras duplicadas
O padrão (\w+) \1 encontra uma palavra seguida por ela mesma, um erro de digitação comum.
echo "the the cat sat" | grep -oE "(\w+) \1"Grupos de captura com sed
Nas substituições do sed, os grupos capturados são reutilizados na substituição como \1 e \2. Use -E para expressões regulares estendidas.
echo "2026-05-29" | sed -E "s|([0-9]{4})-([0-9]{2})-([0-9]{2})|\3/\2/\1|"Trocando campos
Capture dois campos e reordene-os na substituição para transformar formatos de dados.
echo "Doe, John" | sed -E "s/(\w+), (\w+)/\2 \1/"Conceito de grupo sem captura
Às vezes, você agrupa apenas para aplicar um quantificador, não para capturar. Em PCRE, escreva (?:...) para evitar a numeração.
# PCRE only (grep -P):
echo "abcabc" | grep -P "(?:abc){2}"Alternância dentro de grupos
Combine grupos com a alternância | para corresponder a uma entre várias opções e ainda capturar o resultado.
echo "cat dog fish" | grep -oE "(cat|dog)"Quantificando um grupo
Aplique quantificadores a um grupo inteiro para repetir um padrão. (ab)+ corresponde a uma ou mais sequências ab.
echo "ababab" | grep -oE "(ab)+"Capturando em awk
O awk usa match() com RSTART e RLENGTH para extrair a parte correspondente.
echo "id=42" | awk "{ if (match(\$0, /id=[0-9]+/)) print substr(\$0, RSTART, RLENGTH) }"Reformatação prática
Os grupos de captura são especialmente úteis para reformar registros ou colunas CSV em um novo layout em uma única passagem.
echo "John,30,NYC" | sed -E "s/([^,]+),([^,]+),([^,]+)/Name: \1 Age: \2 City: \3/"Verificação rápida
Teste seus conhecimentos sobre grupos de captura.
Recapitulação
Você dominou os grupos de captura:
- Os parênteses capturam e numeram o texto correspondente
- As referências retroativas
\1correspondem novamente ao mesmo texto - No
sed, reutilize os grupos nas substituições para reordenar campos - Quantifique e alterne dentro dos grupos para criar padrões flexíveis
Perguntas Frequentes
A aula “Grupos de Captura, Retroreferências e Substituição” é grátis?
Sim — o texto completo de “Grupos de Captura, Retroreferências e Substituição” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Linux Command Line & Bash Scripting Mastery, atualize para CoddyKit PRO. O curso de Linux Command Line & Bash Scripting Mastery inclui 4 aulas no total.
O que vou aprender em “Grupos de Captura, Retroreferências e Substituição”?
Utilize parênteses para capturar partes de uma correspondência e reutilize-as com retroreferências para obter correspondências e substituições de texto avançadas. Você pratica Linux Command Line & Bash Scripting Mastery com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Linux Command Line & Bash Scripting Mastery?
Nenhuma experiência prévia é necessária. Linux Command Line & Bash Scripting Mastery no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Grupos de Captura, Retroreferências e Substituição”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Linux Command Line & Bash Scripting Mastery?
Sim. Cada aula de Linux Command Line & Bash Scripting Mastery inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Introdução às Expressões Regulares (Regex)
- Grep Avançado com Regex
- Combinação de Regex com sed/awk
- Grupos de Captura, Retroreferências e Substituição