Bonjour,

les nombres écrits en chiffres romains posent un problème dés lors qu'on souhaite les trier puisque ceux-ci utilisent des lettres mais ne suivent pas l'ordre alphabétique.

Pour parer à ce problème, j'ai donc eu l'idée d'utiliser non pas des "I", des "V" et des "X" de la plage ASCII, mais les points de code de U+2160 à U+2169 (ROMAN NUMERAL x) de manière à avoir un unique point de code pour figurer un nombre (je n'ai pas besoin de grands nombres).

J'ai ensuite procédé à quelques tests en créant des fichiers nommés (en UTF-8) avec ces fameux points de code.

Test 1:
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env bash
 
mkdir 'Livre Lambda'
cd 'Livre Lambda'
 
touch 'Tome Ⅰ'
touch 'Tome Ⅱ'
touch 'Tome Ⅲ'
touch 'Tome Ⅳ'
touch 'Tome Ⅴ'
touch 'Tome Ⅵ'
touch 'Tome Ⅶ'

Si je fais: find . -type f -printf "%f\n" | LC_COLLATE=C sort, j'obtiens bien l'ordre attendu:
Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Tome Ⅰ
Tome Ⅱ
Tome Ⅲ
Tome Ⅳ
Tome Ⅴ
Tome Ⅵ
Tome Ⅶ
Ce qui n'est pas étonnant vu que dans ce cas les noms de fichiers sont comparés "bêtement" octet par octet.
J'obtiens le même résultat avec LC_COLLATE=fr_FR.UTF-8. Donc jusque là, pas de problème.

Test 2:
Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
#!/usr/bin/env bash
 
mkdir 'À la recherche du temps perdu'
cd 'À la recherche du temps perdu'
 
touch 'Tome Ⅰ : Du côté de chez Swann'
touch 'Tome Ⅱ : À l’ombre des jeunes filles en fleurs'
touch 'Tome Ⅲ : Le Côté de Guermantes'
touch 'Tome Ⅳ : Sodome et Gomorrhe Ⅰ et Ⅱ'
touch 'Tome Ⅴ : La Prisonnière'
touch 'Tome Ⅵ : Albertine disparue'
touch 'Tome Ⅶ : Le Temps retrouvé'

Si je fais: find . -type f -printf "%f\n" | LC_COLLATE=C sort, j'obtiens toujours l'ordre attendu.
Par contre si je change la collation en LC_COLLATE=fr_FR.UTF-8 alors là rien ne va plus car le Tome Ⅴ est propulsé en fin de liste:
Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
Tome Ⅰ : Du côté de chez Swann
Tome Ⅱ : À l’ombre des jeunes filles en fleurs
Tome Ⅲ : Le Côté de Guermantes
Tome Ⅳ : Sodome et Gomorrhe Ⅰ et Ⅱ
Tome Ⅵ : Albertine disparue
Tome Ⅶ : Le Temps retrouvé
Tome Ⅴ : La Prisonnière

Pour quelle raison?