Posté par beagf .
En réponse au journal utf8 puxor.
Évalué à 4.
Admettons, donc, c'est quoi la bonne méthode pour récupérer les fichiers A et B sans a et b.
Dans le cas ou tu sais à l'avance que tu veux récupérer A et B, la seule manière compatible avec toutes les locale c'est de lister explicitement les fichiers : [AB]
Et dans le cas d'un touch A a B b C c D d, comment faire pour matcher A, B et C seulement eux ? Perso un ls [A-C] me semble normal.
La bonne manière ici c'est juste [ABC]. Il faut bien comprendre que les ranges ne sont absolument pas portable entre les locales.
Quand tu fais [A-C], tu demande tous les fichiers de 1 caractère compris entre A et C dans la locale courante, donc ce que tu obtiens est cohérent avec la locale, mais pas forcément avec la logique ASCII qui ne travaillait qu'avec un tout petit jeu de caractère.
La compléxité de l'UNICODE introduit de nombreux autres problèmes dans ce genre de cas. et même en utilisant [:upper:], il faut faire attention puisqu'il y a trois niveaux de capitalisation : lowercase, uppercase et titlecase.
[^] # Re: Problème de niveaux
Posté par beagf . En réponse au journal utf8 puxor. Évalué à 4.
Dans le cas ou tu sais à l'avance que tu veux récupérer A et B, la seule manière compatible avec toutes les locale c'est de lister explicitement les fichiers : [AB]
Et dans le cas d'un touch A a B b C c D d, comment faire pour matcher A, B et C seulement eux ? Perso un ls [A-C] me semble normal.
La bonne manière ici c'est juste [ABC]. Il faut bien comprendre que les ranges ne sont absolument pas portable entre les locales.
Quand tu fais [A-C], tu demande tous les fichiers de 1 caractère compris entre A et C dans la locale courante, donc ce que tu obtiens est cohérent avec la locale, mais pas forcément avec la logique ASCII qui ne travaillait qu'avec un tout petit jeu de caractère.
La compléxité de l'UNICODE introduit de nombreux autres problèmes dans ce genre de cas. et même en utilisant [:upper:], il faut faire attention puisqu'il y a trois niveaux de capitalisation : lowercase, uppercase et titlecase.