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.