O que é Globbing no Linux

O que é Globbing no Linux

A expressão Globbing (“Englobamento”) no Linux se refere ao uso de metacaracteres para realizar correspondências de padrões de nomes de arquivos e diretórios. Essa técnica é amplamente utilizada para facilitar o trabalho com grupos de arquivos em vez de manipular cada um individualmente.

Em um shell Linux (como o Bash), o globbing permite que expressões como *, ? e [] sejam interpretadas pelo shell para encontrar arquivos e diretórios com base em um padrão específico.

Principais Metacaracteres Usados no Globbing

Os principais metacaracteres (caracteres-curinga) usados para englobamento incluem os seguintes:

1. Asterisco (*)

Corresponde a qualquer sequência de caracteres (incluindo nenhum caractere). Ele é útil quando se quer selecionar todos os arquivos de uma pasta ou aqueles que seguem um padrão específico.

Exemplo:

$ ls *.txt

Esse comando lista todos os arquivos com a extensão .txt no diretório atual.

2. Interrogação (?)

Corresponde a exatamente um caractere. É utilizado quando se precisa de uma correspondência para um arquivo com um caractere específico em uma posição fixa.

Exemplo:

$ ls arquivo?.txt

corresponde a arquivo1.txt, arquivoA.txt, etc., mas não a arquivoAB.txt.

3. Colchetes ([])

Definem um conjunto de caracteres permitidos em uma posição específica. É útil para corresponder a um caractere entre várias opções.

Exemplo:

$ ls arquivo[12].txt

corresponde a arquivo1.txt e arquivo2.txt, mas não a arquivo3.txt.

4. Hífens dentro de colchetes ([a-z])

Definem intervalos de caracteres. Isso permite correspondências com qualquer caractere dentro do intervalo especificado.

Exemplo:

$ ls arquivo[a-c].txt

corresponde a arquivoa.txt, arquivob.txt, e arquivoc.txt.

5. Exclamação ou Circunflexo ([!abc] ou [^abc])

Excluem caracteres específicos de uma correspondência.

Exemplo:

$ ls arquivo[!0-9].txt

corresponde a arquivos como arquivob.txt, mas não a arquivo3.txt.

Como o globbing funciona

O shell expande esses padrões de globbing antes de executar o comando. Por exemplo, ao digitar ls *.txt, o shell transforma *.txt em uma lista de arquivos que terminam em .txt e executa o comando ls com essa lista como argumento.

Existe diferença entre globbing e expressões regulares?

Embora ambos sejam usados para correspondência de padrões, globbing e expressões regulares não são a mesma coisa. Globbing é mais simples e focado em padrões de nomes de arquivos, enquanto as expressões regulares são mais poderosas e complexas, sendo usadas para correspondência de padrões em textos de maneira geral.

Conclusão

O globbing simplifica o gerenciamento de arquivos no Linux, permitindo operações em lote com apenas alguns caracteres. Conhecer globbing é bastante importante para todos que trabalham em linha de comando pois facilita operações como listar, mover e excluir grupos de arquivos com rapidez e eficiência.

Sobre Fábio dos Reis (1223 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*