Léa-Linux & amis :   LinuxFR   GCU-Squad   Zarb.Org   GNU
Archive de la liste aide - [Aide] Quels docs pour avoir les idées claires sur les tris?
Bonsoir La Liste,

Je connais les éléments basiques ayant une influence sur les tris
[sort], LC_COLLATE et autres, et ma Debian est correctement configurée
par défaut.

locale
LANG=fr_FR.utf8
LANGUAGE=
LC_CTYPE="fr_FR.utf8"
LC_NUMERIC="fr_FR.utf8"
LC_TIME="fr_FR.utf8"
LC_COLLATE="fr_FR.utf8"
LC_MONETARY="fr_FR.utf8"
LC_MESSAGES="fr_FR.utf8"
LC_PAPER="fr_FR.utf8"
LC_NAME="fr_FR.utf8"
LC_ADDRESS="fr_FR.utf8"
LC_TELEPHONE="fr_FR.utf8"
LC_MEASUREMENT="fr_FR.utf8"
LC_IDENTIFICATION="fr_FR.utf8"
LC_ALL=

Prenons par exemple le fichier "data" qui contient
zzz
sss
qqq
aaa
BBB
ddd
AAA
SSS


Je suis à la recherche de docs clairs qui expliquent pourquoi en
l'état un tri sans option place les minuscules avant les majuscules,
alors que le code ASCII de A est inférieur à celui de a, par exemple.

sort data

aaa
AAA
BBB
ddd
qqq
sss
SSS
zzz



Je sais bien qu'en jouant sur LC_COLLATE, je change le résultat:

LC_COLLATE=C sort data
AAA
BBB
SSS
aaa
ddd
qqq
sss
zzz


Je précise que je veux bien distinguer les casses (je ne veux pas
utiliser --ignore-case).

Je sais aussi que c'est parfois un casse-tête de régler tout cela et
d'avoir un comportement portable, même si on colle du POSIX partour,
parce que, je cite [man 5 locale]

"La catégorie LC_COLLATE définit des règles d'assemblage de
caractères. En raison des limitations de libc,  toutes  les options
POSIX ne sont pas implémentées."

oui, mais ensuite?


Bref, ma question est: pourquoi+comment le fr_FR.utf8 place les
minuscules en premier?
Une histoire de charmaps (pas de Karma ;-) )

J'ai fouillé le fichier /usr/share/i18n/charmaps/UTF8.gz, mais dans ce
fichier les majuscules ont un code inférieur aux minuscules. So
WTFact?

J'ai cherché, mais pas trouvé de doc transcendante, je suis bredouille
pour le moment.


A vot' bon coeur, m'sieur-dames, vos 2 centimes? Merci!

-- Peko

Serveur hébergé par ST-Hebergement et Lost-Oasis / IRC hébergé par FreeNode / NS secondaire hébergé par XName
Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons