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.