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.
Escreva um comentário