Voici mon list.txt:
a 100
b 300
A 50
e 75
1 10
J'ai lancé la commande ci-dessous:
sort -k2,2 list.txt
C'est ce que j'ai eu:
1 10
a 100
b 300
A 50
e 75
J'essaie de ne trier que la deuxième colonne. Selon Wikipedia, ma commande ci-dessus devrait me donner le résultat ci-dessous.
a 10
b 50
A 75
e 100
1 300
Est-ce que je manque quelque chose?
Par défaut, sort
trie caractère par caractère dans ordre lexicographique , en fonction des paramètres régionaux en vigueur séquence de classement . Ainsi, dans votre exemple, 100
est trié après 10
mais avant 50
parce que 1
est toujours trié avant 5
.
Pour trier par ordre numérique, vous devez ajouter le spécificateur n
.
-n, --numeric-sort
compare according to string numerical value
par exemple.
$ sort -k2,2n list.txt
1 10
A 50
e 75
a 100
b 300