Oto dane:
D 2
B 2
A 2
Po uruchomieniu tego polecenia:
sort -k2,2 file
generuje:
A 2
B 2
D 2
Moje pytanie brzmi: kiedy określam tylko drugą kolumnę -k2,2
, dlaczego sortuje ona również według pierwszej kolumny? Ponieważ wszystkie wartości drugiej kolumny są takie same, należy ją pozostawić bez zmian.
-s
opcji jest zrozumiała i możliwa do znalezienia.Odpowiedzi:
To porównanie w ostateczności . Porównując dwie linie, jeśli wszystkie klucze są równe, w ostateczności wykonuje się podstawowe porównanie ciągów wszystkich linii (
-r
nadal obowiązuje, ale nie inne opcje). Takie zachowanie jest określone przez POSIX :W GNU
sort
to porównanie w ostateczności można wyłączyć za pomocą opcji-s
(dla stabilnej ).źródło