sort (polecenie)

Z Wikipedii, wolnej encyklopedii
(Przekierowano z Sort (Unix))
sort --help

sort – standardowe narzędzie konsolowe Uniksa oraz środowiska Windows[1], która wyświetla dane, które dostało na wejściu lub odczytało z pliku podanego jako argument po posortowaniu. Parametr -r wymusza sortowanie w kolejności odwrotnej (ang. reversed). W systemach Windows służy do tego flaga /r[1].

Przykłady w systemach Unix / Linux[edytuj | edytuj kod]

Sortowanie według kolejności alfabetycznej[edytuj | edytuj kod]

$ cat książka_telefoniczna
Smith, Brett     555-4321
Doe, John        555-1234
Doe, Jane        555-3214
Avery, Cory      555-4321
Fogarty, Suzie   555-2314
  
$ sort książka_telefoniczna
Avery, Cory      555-4321
Doe, Jane        555-3214
Doe, John        555-1234
Fogarty, Suzie   555-2314
Smith, Brett     555-4321

Sortowanie z pliku w kolejności odwrotnej[edytuj | edytuj kod]

$ cat książka_telefoniczna
Smith, Brett     555-4321
Doe, John        555-1234
Doe, Jane        555-3214
Avery, Cory      555-4321
Fogarty, Suzie   555-2314
  
$ sort -r książka_telefoniczna
Smith, Brett     555-4321
Fogarty, Suzie   555-2314
Doe, John        555-1234
Doe, Jane        555-3214
Avery, Cory      555-4321

Przykłady w systemach Windows[1][edytuj | edytuj kod]

Ogólna postać polecenia wygląda następująco:
sort [/r] [/+<N>] [/m <kilobytes>] [/l <locale>] [/rec <characters>] [[<drive1>:][<path1>]<filename1>] [/t [<drive2>:][<path2>]] [/o [<drive3>:][<path3>]<filename3>]

Opis poszczególnych parametrów
Parametr Opis
/r Odwraca kolejność sortowania (na przykład sortuje od Z do A lub od 9 do 0).
/+<N> Określa numer pozycji znaku, gdzie sort zacznie każde porównanie. N może być dowolną poprawną liczbą całkowitą.
/m <kilobytes> Określa ilość głównej pamięci, która ma zostać użyta do sortowania. Pamięć wyrażana w kilobajtach (KB).
/l <locale> Nadpisuje kolejność sortowania znaków zdefiniowanych przez systemową domyślną wartość locale (tj. język i Państwo/Region wybrane podczas instalacji).
/rec <characters> Określa maksymalną liczbę znaków w rekordzie lub linię pliku wejściowego (wartość domyślna wynosi 4 096 a maksymalna 65 535).
[<drive1>:][<path1>]<filename1> Określa plik, który ma zostać posortowany. Jeśli żaden nie został podany, to zostaje posortowane standardowe wejście. Określenie pliku wejściowego jest szybsze niż przekierowanie tego samego pliku na standardowe wejście.
/t [<drive2>:][<path2>] Określa ścieżkę katalogu, aby „przechować” aktualny stan procesu sort jeśli dane nie mieszczą się w głównej pamięci. Domyślnie używany jest katalog systemowy temporary.
/o [<drive3>:][<path3>]<filename3> Określa plik, gdzie posortowane dane wejściowe mają zostać zapisane. Jeśli nie zostanie podany, to dane zostaną wypisane na standardowe wyjście. Określenie pliku wyjściowego jest szybsze niż przekierowanie standardowego wyjścia do tego samego pliku.
/unique Zwraca jedynie unikalne wartości.
/? Wyświetla pomoc.

Przykład 1:[edytuj | edytuj kod]

C:\>sort /r

a

b

c

^Z

c

b

a

Parametr /r odwraca kolejność sortowania. Polecenie czyta dane podane na standardowe wyjście, znak ctrl+Z kończy polecenie i program wypisuje podane dane w odwróconej kolejności[potrzebny przypis].

Przykład 2:[edytuj | edytuj kod]

C:\>find Jones maillist.txt | sort

Polecenie przeszukuje duży plik maillist.txt sprawdzając czy zawiera ciąg znaków Jones. Aby posortować wynik zapytania używa przekierowania strumienia (|), aby przekierować rezultat zapytania do komendy sort[1].

Przypisy[edytuj | edytuj kod]

  1. a b c d JasonGerend, sort, learn.microsoft.com, 3 lutego 2023 [dostęp 2023-10-13] (ang.).

Linki zewnętrzne[edytuj | edytuj kod]