Réponses:
Réponse courte: oui.
Depuis la page de manuel de bash :
Après le fractionnement des mots, à moins que l'option -f n'ait été définie (voir The Set Builtin), Bash recherche dans chaque mot les caractères '*', '?' Et '['. Si l'un de ces caractères apparaît, le mot est considéré comme un modèle et remplacé par une liste alphabétique de noms de fichiers correspondant au modèle.
ls
sur le même système.
La réponse courte est oui, mais vous devez être conscient de ce que devrait être l'ordre alphanumérique, car il peut ne pas correspondre à l'ordre naturel que vous avez en tête.
Par exemple, exécutez un test sur la façon dont les majuscules et les minuscules sont traitées pour trouver sur votre système, ainsi que des séquences de nombres.
Un problème courant que j'ai rencontré lors de la commande des listes de fichiers retournés par un glob est les fichiers numérotés. On me donne souvent des fichiers numérotés comme:
blah_1.txt
blah_2.txt
...
blah_10.txt
blah_11.txt
Cependant, un glob utilisant le *
ne les renverra pas dans cet ordre, à la place vous obtiendrez quelque chose comme:
blah_1.txt
blah_10.txt
blah_11.txt
...
blah_2.txt
blah_20.txt
...
Donc - pour éviter ce problème, vous devrez soit faire quelques manipulations sur la liste de fichiers retournée, soit renommer les fichiers afin que les chiffres simples aient un zéro (c'est blah_01.txt
-à- dire blah_02.txt
, etc.).
$LC_COLLATE
).