Linux Wiki
Advertisement

sort – konsolowe narzędzie służące do sortowania linii w podanych plikach (bądź standardowym wejściu) ze względu na znaki, którymi zaczynają się one same lub odpowiednia kolumna w nich zawarta.

Użycie[]

<terminal> $ sort [opcje] [pliki] ... </terminal> Można podać dowolną liczbę plików. Jeśli nie podane zostały żadne pliki lub jeden z nich to - (myślnik), zostanie użyte standardowe wejście.

Najczęściej używane przełączniki[]

  • -b lub --ignore-leading-blanks – ignoruje znaki białe na początku linii;
  • -f lub --ignore-case – ignoruje wielkość liter;
  • -k X lub --key=X – sortuje biorąc pod uwagę X-tą kolumnę;
  • -n lub --numeric-sort – sortuje ze względu na liczby, którymi zaczynają się linie;
  • -o X lub --output=X – zapisuje posortowane linie do pliku X, zamiast wyświetlać je na standardowe wyjście;
  • -r lub --reverse – odwraca sortowanie;
  • -t X lub --field-separator=X – używa X jako separatora kolumn.

Przykłady[]

Zwykłe sortowanie[]

Plik plik.txt zawiera kilka nieposortowanych opisów przełączników z poprzedniej sekcji.

-r lub --reverse – odwraca sortowanie;
-f lub --ignore-case – ignoruje wielkość liter;
-b lub --ignore-leading-blanks – ignoruje znaki białe na początku linii;
-n lub --numeric-sort – sortuje ze względu na liczby, którymi zaczynają się linie;

Sortowanie przy użyciu polecenia sort plik.txt spowoduje posortowanie tych opisów wg liter przełączników im odpowiadających: <terminal> $ sort plik.txt -b lub --ignore-leading-blanks – ignoruje znaki białe na początku linii; -f lub --ignore-case – ignoruje wielkość liter; -n lub --numeric-sort – sortuje ze względu na liczby, którymi zaczynają się linie; -r lub --reverse – odwraca sortowanie; </terminal>

Odwrócone zwykłe sortowanie[]

Użycie polecenia sort -r plik.txt spowoduje posortowanie linii w owym pliku, podobnie jak w poprzednim przykładzie, a następnie odwrócenie ich kolejności: <terminal> $ sort -r plik.txt -r lub --reverse – odwraca sortowanie; -n lub --numeric-sort – sortuje ze względu na liczby, którymi zaczynają się linie; -f lub --ignore-case – ignoruje wielkość liter; -b lub --ignore-leading-blanks – ignoruje znaki białe na początku linii; </terminal>

Sortowanie liczbowe[]

Plik liczby.txt zawiera kila nieposegregowanych liczb:

123
2135
54
6423
4648864465
65212
548892
231588889891

Normalne posortowanie, z użyciem komendy sort liczby.txt spowoduje posortowanie ich w sposób alfabetyczny (tj. najpierw liczby zaczynające się od 1, potem od 2, etc.): <terminal> $ sort liczby.txt 123 2135 231588889891 4648864465 54 548892 6423 65212 </terminal>

Jeśli chcemy posortować je w sposób liczbowy (tj. najpierw najmniejsze liczby, potem największe), musimy użyć przełącznika -n. Użycie polecenia sort -n liczby.txt spowoduje podanie oczekiwanego przez nas wyniku: <terminal> $ sort -n liczby.txt 54 123 2135 6423 65212 548892 4648864465 231588889891 </terminal>


{{#seo:|keywords = Sort,polecenie Sort,Linux,polecenia,komendy,Linux polecenie Sort}}

Advertisement