Em sistemas semelhantes a Unix, os caracteres curinga (também chamados de caracteres globbing) são caracteres especiais que correspondem a vários nomes de arquivos ou strings. Os mais comuns são:
*
`*` (Asterisk): Corresponde a zero ou mais caracteres. Por exemplo:
* `* .txt` corresponde a todos os arquivos que terminam em` .txt`.
* `*` corresponde a todos os arquivos e diretórios no diretório atual.
*`meu*arquivo*` corresponde 'myfile`, `mylongfileName`,` my_file_1`, etc.
*
`?` (ponto de interrogação): Combina exatamente um personagem. Por exemplo:
* `? .txt` corresponde a arquivos com um único caractere antes de` .txt` (por exemplo, `a.txt`,` 1.txt`).
* `My ??. txt` corresponde a arquivos chamados` myab.txt`, `my12.txt`, etc. (exatamente dois caracteres entre` my` e `.txt`).
*
`[]` (colchetes): Corresponde a um caractere dentro do conjunto especificado. Por exemplo:
* `[abc] .txt` corresponde a` a.txt`, `b.txt` ou` c.txt`.
* `[0-9] .txt` corresponde a qualquer arquivo com um único dígito, seguido de` .txt`.
* `[a-za-z]*. txt` corresponde a qualquer arquivo que inicia com uma letra (maiúscula ou minúscula) seguida por zero ou mais caracteres e terminando com` .txt`.
* `[! ABC] .txt` corresponde a qualquer arquivo que não esteja começando com 'a', 'b' ou 'c', seguido por '.txt'. O `!` Nega o conjunto.
Esses curingas são usados principalmente em interfaces da linha de comando (como Bash, Zsh, etc.) ao trabalhar com arquivos e diretórios. Eles não são * expressões regulares; Eles são um mecanismo de correspondência de padrões mais simples e limitado. Embora possíveis para a correspondência básica do nome do arquivo, as expressões regulares oferecem muito maior flexibilidade para a correspondência complexa de padrões.