glob
glob é um termo utilizado no contexto de programação de computadores para descrever uma forma de casamento de padrões. Vários interpretadores de comandos, como por exemplo o bash[1] no Unix, ele também é chamado de file globbing implementam a funcionalidade de glob para efetuar busca por arquivos através de scripts ou da linha de comando. Nas primeiras edições do Unix os interpretadores de comando eram incapazes de expandir caracteres curinga de um caminho para um arquivo. Por isso contavam com a ajuda do programa /etc/glob[2] para realizar tal expansão.
Várias linguagens de programação também estão munidas desta funcionalidade, como PHP[3], Python[4] e Perl.[5]
Sintaxe
Não existe uma sintaxe padrão para realizar glob. O quadro a seguir é um comparativo de sintaxe entre os interpretadores de comandos mais conhecidos:
Função | Exemplos | Shell do Unix | command.com
|
cmd.exe
|
Windows PowerShell | SQL |
---|---|---|---|---|---|---|
Casar com um caractere desconhecido | ?anto casa com santo , tanto ou manto
|
?
|
?
|
?
|
?
|
_
|
Casar com qualquer número de caracteres desconhecidos | Auto* casa com Automóvel ou com Autonomia
|
*
|
*
|
*
|
*
|
%
|
Casar um caractere com um grupo de caracteres | [ST]anto casa com Santo ou Tanto mas não com Manto
|
[caracteres]
|
N/D | N/D | [caracteres]
|
N/D |
Caractere de escape | Auto\* só casará com Auto*
|
\
|
N/D | ^
|
`
|
N/D |
É importante observar que o caractere * não possui o mesmo significado das expressões regulares, nas quais representa o fecho de Kleene.
Referências
- ↑ «Advanced Bash-Scripting Guide: An in-depth exploration of the art of shell scripting» (em inglês)
- ↑ «First Edition Unix manual 'Miscellaneous' section (PDF)» (PDF) (em inglês)
- ↑ «PHP: glob - Manual» (em inglês)
- ↑ «glob - Unix style pathname pattern expansion» (em inglês)
- ↑ «File::Glob - Perl extension for BSD glob routine - search.cpan.org» (em inglês)