Uporaba ukaza za razvrščanje Linuxa

Postavke, ki jih je treba razvrščati, morajo biti na kakšen način omejene

Podatke v tekstovni datoteki Linuxa je mogoče razvrstiti z ukazom sortiranja, dokler je vsak element na določen način omejen. Pogosto se vejica uporablja kot ločilo za razmejene informacije.

Osnovna pravila za sortiranje

Ukazni ukaz preuredi vrstice v besedilno datoteko, da jih razvrstite numerično in abecedno. Privzeta pravila za ukazni ukaz so:

Razvrščanje besedilne datoteke

Če želite razvrstiti vrstice v datoteko Linux z omejenimi možnostmi, uporabite ukaz sort:

$ sortiraj -k2 test.txt

ki razvrsti datoteko "test.txt" glede na znake, ki se začnejo v drugem stolpcu (k2 se nanaša na drugi stolpec). Ob predpostavki, da je vsebina vhodne datoteke:

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

Ker drugi stolpec v tem primeru vsebuje prvo ime in priimek, je razvrščeni izhod urejen s prvo črko imena vsakega posameznika v drugem stolpcu - Elvis, John, Johnny, Justin, Lady, Michael, Mick in Taylor , kot je prikazano spodaj:

6, Elvis Presley, naslov 335, Cena 6,30 € 7, John Lennon, Naslov 271, Cena 7,90 $ 5, Johnny Cash, Naslov 482, Cena 6,50 $ 1, Justin Timberlake, Naslov 545, Cena 6,30 $ 4, Lady Gaga, Naslov 118, Cena 6,30 € 8, Michael Jackson, Naslov 373, Cena 5,50 $ 3, Mick Jagger, Naslov 610, Cena 7,90 $ 2, Taylor Swift, Naslov 723, Cena 7,90 €

Če datoteko razvrstite s -k3 (z uporabo vsebine vrstice, ki se začne v stolpcu 3 - stolpec številka naslova), je izhod:

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

in

$ sortiraj -k4 test.txt

ustvari seznam, razvrščen po ceni:

8, Michael Jackson, Naslov 373, Cena $ 5.50 1, Justin Timberlake, Naslov 545, Cena 6,30 $ 4, Lady Gaga, Naslov 118, Cena 6,30 € 6, Elvis Presley, Naslov 335, Cena 6,30 € 5, Johnny Cash, Naslov 482, Cena 6,50 € 2, Taylor Swift, Naslov 723, Cena 7,90 $ 3, Mick Jagger, Naslov 610, Cena 7,90 $ 7, John Lennon, Naslov 271, Cena 7,90 €

Obrni Razvrsti

Možnost -r preusmeri sortiranje. Na primer, z uporabo zgornjih rezultatov:

$ sortiraj -k4-r test.txt

donosi:

7, John Lennon, Naslov 271, Cena 7,90 $ 3, Mick Jagger, Naslov 610, Cena 7,90 $ 2, Taylor Swift, Naslov 723, Cena 7,90 $ 5, Johnny Cash, Naslov 482, Cena 6,50 € 6, Elvis Presley, Naslov 335, Cena 6,30 $ 4, Lady Gaga, naslov 118, Cena 6,30 € 1, Justin Timberlake, naslov 545, Cena 6,30 $ 8, Michael Jackson, Naslov 373, Cena 5,50 $

Shranjevanje razvrščene datoteke

Razvrščanje datoteke ga ne shrani. Če želite shraniti razvrščeni seznam v datoteki, uporabite operaterja za preusmeritev:

razvrstite -k4 -r test.txt> test_new.txt

kjer je "test_new.txt" nova datoteka.

Razvrščanje pretočnega izhoda

Ukaz za razvrščanje lahko uporabite tudi za izhod toka, na primer operaterja cevi:

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

Ta razvrsti rezultat vnosa datotek, ki ga ustvari ukaz ls, po velikosti datoteke, začenši z največjimi datotekami. Operater -n določa numerično razvrščanje in ne abecedno.