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:
- Besedilo, ki se začne s številko, se prikaže pred besedilom, ki se začne s črko; nižje številke se razvrščajo najprej.
- Besedilo, ki se začne s črko, ki se je prej pojavila v abecedi, je prva beseda drugih besedilnih vnosov razvrščena pred besedilom, ki se začne s črko, ki se pojavi v abecedi.
- Kjer se besedilo začne z velikimi in malimi primerki iste črke, je primerek male črke najprej razvrščen.
Razvrščanje besedilne datoteke
Če želite razvrstiti vrstice v datoteko Linux z omejenimi možnostmi, uporabite ukaz sort:
$ sortiraj -k2 test.txtki 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.txtustvari 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.txtdonosi:
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.txtkjer 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 -k5Ta 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.