Respostas:
Resposta curta: Sim, será.
Após a divisão da palavra, a menos que a opção -f tenha sido definida (consulte The Set Builtin), o Bash verifica cada palavra em busca dos caracteres '*', '?' E '['. Se um desses caracteres aparecer, a palavra será considerada um padrão e substituída por uma lista classificada alfabeticamente de nomes de arquivos que correspondem ao padrão.
ls
no mesmo sistema.
A resposta curta é sim, mas você precisa estar ciente de qual deve ser a ordem alfanumérica, pois pode não corresponder à ordem natural que você tem em mente.
Por exemplo, execute alguns testes sobre como as letras maiúsculas e minúsculas são tratadas para descobrir em seu sistema, bem como as seqüências de números.
Um problema comum que encontrei ao ordenar listas de arquivos retornados por um globo é os arquivos numerados. Muitas vezes recebo arquivos numerados como:
blah_1.txt
blah_2.txt
...
blah_10.txt
blah_11.txt
No entanto, um globo usando o *
não os retornará nesta ordem; em vez disso, você terá algo como:
blah_1.txt
blah_10.txt
blah_11.txt
...
blah_2.txt
blah_20.txt
...
Então - para evitar este problema você ou necessidade de fazer alguma manipulação na lista retornada de arquivos, ou arquivos de mudar de modo que os únicos dígitos ter zero (ou seja blah_01.txt
, blah_02.txt
, etc.).
$LC_COLLATE
).