Hier sind die Daten:
D 2
B 2
A 2
Wenn ich diesen Befehl ausführe:
sort -k2,2 file
es gibt aus:
A 2
B 2
D 2
Meine Frage ist, wenn ich nur die zweite Spalte spezifiziere -k2,2
, warum wird dann auch nach der ersten Spalte sortiert? Da alle Werte der zweiten Spalte gleich sind, sollte sie unverändert bleiben.
-s
Option verständlich und auffindbar.Antworten:
Das ist das letzte Ausweg Vergleich . Wenn beim Vergleichen von zwei Zeilen alle Schlüssel gleich sind, wird als letzte Möglichkeit ein grundlegender Zeichenfolgenvergleich für die gesamten Zeilen durchgeführt (
-r
gilt weiterhin, jedoch nicht für die anderen Optionen). Dieses Verhalten wird von POSIX angegeben :Mit GNU
sort
kann dieser Vergleich in letzter Instanz mit der Option-s
(für Stable ) deaktiviert werden .quelle