lorsque je tente de trier « entrée » le fichier texte suivant:résultat inattendu de sorte gnu
test1 3
test3 2
test 4
avec la commande
sort input
la sortie est exactement l'entrée. Voici la sortie de
od -bc input
:
0000000 164 145 163 164 061 011 063 012 164 145 163 164 063 011 062 012
t e s t 1 \t 3 \n t e s t 3 \t 2 \n
0000020 164 145 163 164 011 064 012
t e s t \t 4 \n
0000027
Il est juste un onglet fichier séparé avec deux colonnes. Quand je fais
sort -k 2
Les changements de sortie à
test3 2
test1 3
test 4
qui est ce que je pense. Mais si je
sort -k 1
rien ne change par rapport à l'entrée, alors que je me attends à ce « test » pour trier avant « test1 ». Enfin, si je
cat input | cut -f 1 | sort
Je reçois
test
test1
test3
comme prévu. Y a-t-il une explication logique à cela? Qu'est-ce qui est censé être fait par défaut, quelque chose comme:
sort -k 1
?
Ma version de tri:
sort (GNU coreutils) 7.4
Même avec un algorithme de tri naturel, l'entrée (comme indiqué) est déjà trié. –