8.2. Sortowanie wartości liczbowych
Problem
Sortowanie danych liczbowych nie działa zgodnie z oczekiwaniami:
$ sort dane
2
200
21
250
$
Rozwiązanie
Do polecenia sort
trzeba przekazać informację o tym, że sortowaniu podlegają liczby. W tym celu należy uwzględnić w instrukcji opcję –n
:
$ sort –n dane
2
21
200
250
$
Analiza
Standardowy sposób sortowania nie jest wcale błędny (mimo że wynik wydaje się niepoprawny). Trzeba pamiętać, że domyślnie wykonywane jest sortowanie alfabetyczne, a to oznacza, że wartość 21
jest wyświetlana po wartości 200
, ponieważ znak 1
w sortowaniu alfabetycznym występuje po znaku 0
. Oczywiście, w takim przypadku konieczne jest uruchomienie sortowania numerycznego, które zostaje włączone po dodaniu opcji –n
.
Polecenie sort –rn
jest ...
Get Bash. Receptury now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.