Forum Clubic

Tri par sort sous linux

Bonjour à tous,

J’essaye de faire un tri d’une chaine alpha numerique et je n’y arrive pas.
exemple :
fcs0
fcs1
fcs2
fcs3
fcs4
fcs5

fcs10
fcs11

fsc20

etc…
loorsque je fais la tri il me retourne

fcs0
fcs1
fcs11

fcs2
fcs20

j’aimerai que les chiffres soit dans l’ordre croissant.

J’utilise la commande sort.

Merci

Je dirais que c’est normal.

UNIX trie par rapport à l’ordre des éléments dans la table ASCII, et 1 se trouve avant 2, etc. Mais surtout un fichier nommé fcs1 sera toujours après fcs10 car implicitement, il testera “fcs1\0” “fcs10” (où \0 == caractère de code 0).

Vérifie si la fonction sort ne dispose pas d’une option pour trier par l’ordre naturel, ou vérifie si tu n’as pas natsort.

Finalement, on vient de trouver.

sort -n -t s +1 -2
en gros, si j’ai tout compris:
n numérique
-t séparateur s
+1 sur le deuxième champ
-2 jusqu’au troisiéme

C’est valable pour mon cas et cela me convient.

A+

comme sans-nom il reste sans voix la !

bravo clio tu gagne 3560px et tu passes level 2 !

Pas la peine d’inciter (ou de m’inciter) au flood Quaz.

Si ça marche, tant mieux :slight_smile: