Použitie príkazu Sort triedy Linux

Položky, ktoré sa majú triediť, musia byť nejakým spôsobom vymedzené

Údaje v textovom súbore Linuxu sa dajú triediť pomocou príkazu sort tak dlho, ako je každý prvok vymedzený nejakým spôsobom. Často sa čiarka používa ako oddeľovač pre vymedzené informácie.

Základné pravidlá triedenia

Príkaz triedenie presmeruje riadky do textového súboru a zoradí ich číselne a abecedne. Predvolené pravidlá pre príkaz triedenia sú:

Triedenie textového súboru

Ak chcete triediť riadky v ohraničenom súbore Linuxu, použijete tento príkaz ako:

$ sort -k2 test.txt

ktorý zoraďuje súbor "test.txt" podľa znakov začínajúcich v druhom stĺpci (k2 sa týka druhého stĺpca). Za predpokladu, že obsah vstupného súboru je:

1, Justin Timberlake, titul 545, cena $ 7.30 2, Taylor Swift, titul 723, cena $ 7.90 3, Mick Jagger, titul 610, cena $ 7.90 4, Lady Gaga, titul 118, cena 7.30 dolárov 5, Johnny Cash, titul 482, 6, Elvis Presley, titul 335, cena 7,30 dolárov 7, John Lennon, titul 271, cena 7,90 dolárov 8, Michael Jackson, titul 373, cena 5,50 dolárov

Pretože druhý stĺpec v tomto príklade obsahuje meno a priezvisko, triedený výstup je usporiadaný prvým písmenom prvého mena každého jednotlivca v druhom stĺpci - Elvis, John, Johnny, Justin, Lady, Michael, Mick a Taylor , ako je ukázané nižšie:

6, Elvis Presley, titul 335, cena $ 6.30 7, John Lennon, titul 271, cena $ 7.90 5, Johnny Cash, titul 482, cena $ 6.50 1, Justin Timberlake, titul 545, cena $ 6.30 4, Lady Gaga, titul 118, 8, Michael Jackson, titul 373, cena 5,50 dolárov 3, Mick Jagger, titul 610, cena 7,90 dolárov 2, Taylor Swift, titul 723, cena 7,90 dolárov

Ak zoradíte súbor s -k3 (pomocou obsahu riadku začínajúceho v stĺpci 3 - stĺpci Číslo titulu), výstup je:

4, Lady Gaga, titul 118, cena $ 6.30 7, John Lennon, titul 271, cena $ 7.90 6, Elvis Presley, titul 335, cena 6,30 dolárov 8, Michael Jackson, titul 373, cena 5,50 dolárov 5, Johnny Cash, titul 482, 1, Justin Timberlake, titul 545, cena $ 6.30 3, Mick Jagger, titul 610, cena $ 7.90 2, Taylor Swift, titul 723, cena $ 7.90

a

$ sort -k4 test.txt

vyrába zoznam zoradený podľa ceny:

8, Michael Jackson, titul 373, cena $ 5,50 1, Justin Timberlake, titul 545, cena 6,30 dolárov 4, Lady Gaga, titul 118, cena 6,30 dolárov 6, Elvis Presley, titul 335, cena 6,30 dolárov 5, Johnny Cash, titul 482, 2, Taylor Swift, titul 723, cena $ 7.90 3, Mick Jagger, titul 610, cena 7,90 dolárov 7, John Lennon, titul 271, cena 7,90 dolárov

Zrušenie triedenia

Možnosť -r zvráti triedenie. Napríklad pomocou vyššie uvedených výsledkov:

$ sort -k4 -r test.txt

výťažky:

7, John Lennon, Title 271, Cena $ 7.90 3, Mick Jagger, Názov 610, Cena $ 7.90 2, Taylor Swift, Názov 723, Cena $ 7.90 5, Johnny Cash, Názov 482, Cena $ 6.50 6, Elvis Presley, Názov 335, 4, Lady Gaga, titul 118, cena 6,30 dolárov 1, Justin Timberlake, titul 545, cena 6,30 dolárov 8, Michael Jackson, titul 373, cena 5,50 dolárov

Uloženie triedeného súboru

Triedenie súboru ho neuloží. Ak chcete uložiť triedený zoznam do súboru, použite operátor presmerovania:

triediť -k4 -r test.txt> test_new.txt

kde "test_new.txt" je nový súbor.

Zoradenie výstupu prúdu

Príkaz na triedenie môžete použiť aj na výstup prúdu, napríklad operátora potrubia:

$ ls -al | sort -r -n -k5

Tým sa zoradí výstup zo zoznamu súborov vygenerovaný príkazom ls podľa veľkosti súboru, začínajúc najväčšími súbormi. Operátor -n špecifikuje skôr numerické triedenie než abecedné.