la jonction unix ne fonctionne pas: le fichier n’est pas sortingé (et ils le sont !!!)

J’ai essayé de faire une jointure unix mais cela ne semble pas fonctionner. J’ai deux fichiers, ils sont tous deux sortingés, la première colonne sur les deux est un nombre.

Le problème semble être dans l’ordre dans lequel la jointure est en cours d’exécution (et comment il lit l’atsortingbut).

La sortie d’erreur est la suivante:

join: tags.csv:34: is not sorted: 109,1219,Alfred,Hitchcock,1165555288 join: users.csv:800: is not sorted: 10,F,35,1,95370,1009,5,979168267 

J’ai donc une valeur 109 dans la ligne 34 du fichier de balises et une valeur de 10 dans la 800ème ligne de fichier des utilisateurs. Donc, il semble comparer 10 vs 109 (comme le rognage) mais cela donne une erreur en disant qu’il n’est pas sortingé.

J’ai essayé de modifier l’ordre des fichiers dans l’exécution de la jointure, mais pas de chance.

Quelqu’un at-il vécu quelque chose comme ça?

Je mentionnerai une autre réponse que j’ai trouvée en cherchant le même problème:

“Si vous êtes sûr d’avoir correctement sortingé vos fichiers d’entrée et que leurs lignes peuvent être couplées, vous pouvez éviter l’erreur ci-dessus en lançant la commande join –nocheck-order file1.txt file2.txt”

Cela a fonctionné pour moi. Quoi qu’il en soit, il y a d’autres réponses.

Merci à @Yoav Weiss https://unix.stackexchange.com/questions/12942/join-file-2-not-in-sorted-order