Re: Chiffres romains, locale et tri
Frédéric Bothamy a écrit, dimanche 19 juin 2005, à 15:34 :
> * Jacques L'helgoualc'h <lhh+no_spam@free.fr> [2005-06-19 15:10] :
> > François TOURDE a écrit, dimanche 19 juin 2005, à 13:42 :
> > > Jacques L'helgoualc'h écrivait:
> > [...]
> > > > $ LC_ALL=fr_FR sort fichier
> > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_I-Allegro
> > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_III-Scherzo
> > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_II-Poco
> > > > Dvorak_Symphony_n°7_in_D_Minor_op.70_IV-Finale
[...]
> En fait, avec une locale fr_FR, sort utilise les chaînes suivantes pour
> faire les comparaisons :
>
> ...IAllegro...
> ...IIPoco...
> ...IIIScherzo...
> ...IVFinale...
>
> (on peut s'en rendre compte en remplaçant le '-' par un 'A' par exemple).
Oui, c'est bien ce qui se passe normalement ... /avec/ l'option -d !
Pour -f ou -i l'ordre est correct ;
> "LC_ALL=C sort ..." ou "LC_COLLATE=C sort ..." fait ce qu'il semble
> normal en incluant le caractere - dans sa comparaison.
... mais ça ne le fait pas avec LC_ALL=fr tout court, /sans/ option pour
sort.
Par ailleurs, en passant de fr_Fr à fr_BE ou fr_CH, c'est de nouveau à
l'endroit, et en pipant via « sed s/_/-/g » ou son contraire, l'ordre
change dans tous les cas ...
Il y a donc un bug, ou une bizarrerie sur l'ordre alphabétique avec
tiret en France ?
--
Jacques L'helgoualc'h
Reply to: