Bash globbing arquivos ocultos

3

Estou tentando os seguintes globs em um shell bash:

$ ls -d .*
.  ..  .a  .ab
$ ls .a*
.a  .ab
$ ls .[!.]*
.a  .ab
$ ls .[!.]?*
.ab

A última expressão não deve significar "um ponto seguido por exatamente um não-ponto seguido por zero ou mais caracteres"? Por que não corresponde a .a ?

    
por 3lectrologos 09.04.2012 / 18:28

1 resposta

5

Você está enganado. Significa "um ponto seguido por exatamente um não-ponto seguido por um caractere seguido por zero ou mais caracteres". .a não tem caracteres suficientes para corresponder a ele.

Mas, na verdade, basta definir dotglob .

    
por 09.04.2012 / 18:35