Trie des fichiers selon leur nom et table ASCII

Bonjour,

Selon la table ASCII les caractères !(33) #(35) -(45) sont bien avant les chiffres 0(48)…9(57) et les alphabets A(65)…[]…z(122). Mais lorsque j’essaie de forcer l’ordre de mes dossiers avec par exemple les noms #DEPOTS ou !!BANNETTES pour le placer devant les autres dossiers alors j’observe que cela ne marche pas :

gelinp@inspiron:~/00_HOME$ ls -l total 88 drwx------ 13 gelinp gelinp 4096 août 5 08:11 ./ drwx------ 153 gelinp gelinp 12288 août 5 07:27 ../ drwx------ 17 gelinp gelinp 4096 juil. 31 18:19 00_SECRETARIAT/ drwx------ 4 gelinp gelinp 4096 août 5 00:19 01_COFFRE_FORT/ drwx------ 5 gelinp gelinp 4096 avril 4 06:53 02_ARCHIVES_COURANTES/ drwxr-xr-x 4 gelinp gelinp 4096 avril 4 07:10 04_Dossiers affaires/ drwxr-xr-x 6 gelinp gelinp 4096 juil. 31 21:43 05_Dossiers produits/ drwxr-xr-x 7 gelinp gelinp 4096 avril 4 06:58 06_Dossiers_Outils/ drwxr-xr-x 5 gelinp gelinp 4096 juin 13 09:16 07_Dossiers_Activites/ drwxr-xr-x 11 gelinp gelinp 4096 mai 1 10:05 08_Dossiers_Organismes/ drwx------ 15 gelinp gelinp 4096 avril 29 11:17 !!BANNETTES/ drwxr-xr-x 3 gelinp gelinp 4096 août 5 07:26 #DEPOTS/ -rw------- 1 gelinp gelinp 77 août 5 07:54 .directory drwxr-xr-x 3 gelinp gelinp 4096 juil. 31 18:19 RECORDS/ -rw------- 1 gelinp gelinp 20593 mars 24 2013 .sync.ffs_db

Et c’est la même chose dans Dolphin sous KDE…

Ma question est : ourquoi l’ordre ASCII ne semble pas respecté ?
Je vous remercie pour votre aide.

Si si : L’ordre est bien respecté… en ASCII

michel@debG53SW:~/PourTest$ echo "Avant : $LANG"; auChat=$LANG; LANG=C; echo "Après : $LANG"; ls -l; LANG=$auChat;
Avant : fr_FR.utf8
Après : C
total 44
drwxr-xr-x 2 michel michel 4096 Aug  5 09:39 !!BANNETTES
drwxr-xr-x 2 michel michel 4096 Aug  5 09:45 #DEPOTS
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 00_SECRETARIAT
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 01_COFFRE_FORT
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 02_ARCHIVES_COURANTES
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 04_Dossiers affaires
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 05_Dossiers produits
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 06_Dossiers_Outils
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 07_Dossiers_Activites
drwxr-xr-x 2 michel michel 4096 Aug  5 09:37 08_Dossiers_Organismes
drwxr-xr-x 2 michel michel 4096 Aug  5 09:46 RECORDS
michel@debG53SW:~/PourTest$ 

Merci pour votre réponse :smiley: Je n’avais pas réalisé que les applications en console utilisent l’unicode en remplacement de l’ASCII ! C’est super !

J’ai trouvé la table UNICODE latin de base, je pense qu’elle doit être utilisée dans mon cas fr_FR.UTF-8 (commande echo $LANG).

Mais la encore la table présente les caractères !(21), #(23), $(24) avant les chiffres et les alphabets romains. Donc cela n’explique pas l’ordre ci-dessous avec les dossiers !BANETTES et #DEPOTS après les chiffres (mai bien avant les lettres et le # bien après le !). Et cela a la fois pour la console et Dolphin sous KDE…:

gelinp@inspiron:~/00_HOME$ ls -l total 48 drwx------ 17 gelinp gelinp 4096 juil. 31 18:19 00_SECRETARIAT drwx------ 4 gelinp gelinp 4096 août 5 10:41 01_COFFRE_FORT drwx------ 5 gelinp gelinp 4096 avril 4 06:53 02_ARCHIVES_COURANTES drwxr-xr-x 4 gelinp gelinp 4096 avril 4 07:10 04_Dossiers affaires drwxr-xr-x 6 gelinp gelinp 4096 juil. 31 21:43 05_Dossiers produits drwxr-xr-x 7 gelinp gelinp 4096 avril 4 06:58 06_Dossiers_Outils drwxr-xr-x 5 gelinp gelinp 4096 juin 13 09:16 07_Dossiers_Activites drwxr-xr-x 11 gelinp gelinp 4096 mai 1 10:05 08_Dossiers_Organismes drwx------ 15 gelinp gelinp 4096 avril 29 11:17 !BANNETTES drwxr-xr-x 3 gelinp gelinp 4096 août 5 07:26 #DEPOTS drwxr-xr-x 2 gelinp gelinp 4096 août 5 08:56 LOGICIEL_CALIBRE_HOME drwxr-xr-x 3 gelinp gelinp 4096 juil. 31 18:19 RECORDS

Est-ce que seulement je regarde bien la bonne table UNICODE pour fr_FR.UTF-8 ?
Merci pour votre aide.

Une petite collation

www.unicode.org : Collation And Code Chart Order

opengroup.org : Locale

opengroup.org : Locale -> LC_COLLATE