Voici les données:
D 2
B 2
A 2
Lorsque j'exécute cette commande:
sort -k2,2 file
il génère:
A 2
B 2
D 2
Ma question est que lorsque je ne spécifie que la deuxième colonne -k2,2
, pourquoi est-il également trié par la première colonne? Étant donné que toutes les valeurs de la deuxième colonne sont identiques, elle doit la laisser telle quelle.
-s
option compréhensibles et trouvables.Réponses:
C'est la dernière comparaison . Lors de la comparaison de deux lignes, si toutes les clés se comparent égales, alors en dernier recours, une comparaison de chaîne de base de toutes les lignes est effectuée (
-r
s'applique toujours mais pas les autres options). Ce comportement est spécifié par POSIX :Avec GNU
sort
, cette comparaison de dernier recours peut être désactivée avec l' option-s
(pour stable ).la source