Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Programmation.shell : Crochets et Bash

Posté par Xfennec (page perso, ) le 15 septembre 2005
J'ai un gros problème d'un coup là : pourquoi diable Bash ne semble pas vouloir travailler correctement sur les crochets ?



Exemple :



$ touch a b c d e f g

$ touch A B C D E F G

$ ls [a-d]*

a A b B c C d





Pardon ?! Pourquoi les fichiers majuscules ? Et encore, s'ils étaient tous là ... (il manque "D"). C'est particulièrement étrange, puisque pdksh, par exemple, ne pose pas de problème ("a b c d").

Testé avec des Bash 2 et 3.



Si quelqu'un possède une explication, elle m'intéresse beaucoup !

> Lire le message (5 commentaires, moyenne: 3,6).  

Vous avez demandé le commentaire #625452.

pb de locale

Posté par Pascal Terjan (Jabber id, page perso, ) le 15/09/2005 à 09:42. (lien). Évalué à 10.

Ca vient de ton LC_COLLATE (qui indique l'ordre alphabetique pour ta langue).

[pterjan@plop tmp]$ export LC_COLLATE=C
[pterjan@plop tmp]$ ls [a-d]
a  b  c  d
[pterjan@plop tmp]$ export LC_COLLATE=fr
[pterjan@plop tmp]$ ls [a-d]
a  A  b  B  c  C  d
[pterjan@plop tmp]$
[a-d] signifie les lettres entre 'a' et 'd', en francais (et dans d'autres locales) elles sont dans l'ordre suivant : AaBbCc... alors qu'en POSIX c'est ABCD...abcd...

  • [^]Re: pb de locale

    Posté par Xfennec (page perso, ) le 15/09/2005 à 10:03. (lien). Évalué à 2.

    Superbe. Merci. Extrait du man de Bash :

    Cette  variable  détermine  l'ordre  des lettres lors du tri des
    chemins ainsi que le comportement  des  expressions  des  inter-
    valles,  des  classes  d'équivalences,  et  de la comparaison de
    chaînes lors de la recherche de motifs et le  développement  des
    chemins.
    

    [^]Re: pb de locale

    Posté par liberforce (Jabber id, page perso, ) le 15/09/2005 à 11:52. (lien). Évalué à 4.

    elles sont dans l'ordre suivant : AaBbCcDd...

    Ce serait pas plutôt aAbBcCdD, parce que sinon ls [a-d]* afficherait aussi D non ?

    [^]Re: pb de locale

    Posté par bad sheep (page perso, ) le 15/09/2005 à 15:33. (lien). Évalué à 1.

    Très Trés pointu monsieur Pascal, Félicitations !