Isso não tem nada a ver com as próprias páginas man: é uma descrição da sintaxe dos padrões globais, sobre os quais a página do manual está.
Em um padrão glob, os colchetes delimitam um conjunto de caracteres. Por exemplo, [abc] corresponde a qualquer um dos caracteres a , b ou c . O padrão fo[abc] corresponde a foa , fob e foc (mas não, por exemplo, foo ou fo ou foab ).
Dentro dos parênteses, o caractere - tem um significado especial: é usado para formar um intervalo de caracteres. Portanto, em vez de corresponder a 0 , - ou 9 , o padrão [0-9] corresponde a qualquer dígito. Os intervalos podem ser combinados com outros intervalos e caracteres solitários; por exemplo, [A-Za-z_] na codificação ASCII corresponde a qualquer letra ou sublinhado.
O sinal de menos é interpretado apenas como um indicador de intervalo quando isso seria sintaticamente sensato: se for o primeiro ou último caractere dentro dos colchetes, ou se vier imediatamente após outro intervalo, - significa ele mesmo. Portanto, em [--0] , o primeiro - significa ele mesmo e o segundo - é um indicador de intervalo, portanto, esse padrão corresponde a qualquer caractere que esteja entre - e 0 na localidade atual.
Na codificação ASCII , esse intervalo abrange os quatro caracteres a seguir: - , . , / , 0 . O caractere / não pode aparecer dentro de um nome de arquivo, porque é sempre interpretado como um separador de diretório; portanto, o padrão [--0] corresponde apenas aos 3 caracteres - , . e 0 .
Observe que em locais diferentes de ASCII, o padrão pode corresponder a um conjunto diferente de caracteres. O efeito da configuração de localidade nos intervalos de caracteres é um pouco variável entre sistemas e aplicações.
A maioria dos mecanismos de expressões regulares usa a mesma sintaxe para intervalos de caracteres como padrões de globos de shell, com duas diferenças:
- Em um padrão glob, se o primeiro caractere após o colchete de abertura for um
! , o padrão corresponderá a todos os caracteres não no conjunto. Em uma expressão regular, o caractere ^ desempenha o mesmo papel. Alguns shells suportam ^ , bem como ! .
- Algumas variantes de expressões regulares permitem que
\ faça o próximo caractere perder seu significado especial, por exemplo, [\[\]\-a] corresponde a [ , ] , - ou a . Em outras variantes de expressão regular e em padrões glob, uma barra invertida nos conjuntos de caracteres não tem significado especial. Se ] estiver no conjunto, ele deve vir primeiro (é impossível especificar um conjunto vazio: [] é um padrão incompleto, correspondendo a um colchete de fechamento ou a qualquer caractere que venha depois).