Sorteeritud asju tuleb mingil viisil piiritleda
Linuxi tekstifailis olevaid andmeid saab sortida sorteerimiskäsuga nii kaua, kuni iga element on mingil viisil piiritletud. Sageli kasutatakse komme piiritletud teabe eraldajana.
Sorteerimise põhireeglid
Sortimiskäsk korrigeerib tekstifaili ridasid, et neid järjestada numbrilises järjekorras ja tähestikulises järjekorras. Sortimisjuhendi vaikeseaded on järgmised:
- Tekst, mis algab numbriga, kuvatakse enne tähega algavat teksti; väiksemad numbrid sorteerivad kõigepealt.
- Tekst, mis algab tähega, mis ilmub tähestikus varem, on teiste tekstisisestuste esimene täht sorteeritud enne teksti, mis algab tähega, mis ilmub tähestikus hiljem.
- Kui tekst algab sama tähe suur- ja väiketähtedega, sorteeritakse esmalt väiketäht.
Tekstifaili sorteerimine
Delineeritud Linuxi failide joonte sorteerimiseks kasutage sortimisjuhist järgmiselt:
$ sort -k2 test.txtmis sorteerib faili "test.txt" teise tähe järgi algavate tähtede järgi (k2 viitab teisele veale). Eeldusel, et sisendfailide sisu on:
1, Justin Timberlake, Pealkiri 545, Hind 7,30 $ 2, Taylor Swift, Pealkiri 723, Hind 7,90 $ 3, Mick Jagger, Pealkiri 610, Hind 7,90 $ 4, Lady Gaga, Pealkiri 118, Hind 7,30 $ 5, Johnny Cash, Pealkiri 482, Hind 6,50 $ 6, Elvis Presley, jaotis 335, hind 7,30 $ 7, John Lennon, jaotis 271, hind 7,90 $ 8, Michael Jackson, jaotis 373, hind 5,50 $Kuna käesolevas näites sisalduv teine veerg sisaldab esimest ja perekonnanime, sorteeritav väljund on paigutatud teise veeru teise nime esimese tähega - Elvis, John, Johnny, Justin, Lady, Michael, Mick, and Taylor , nagu allpool näidatud:
6, Elvis Presley, jaotis 335, hind 6,30 $ 7, John Lennon, jaotis 271, hind 7,90 $ 5, Johnny Cash, jaotis 482, hind 6,50 $ 1, Justin Timberlake, jaotis 545, hind 6,30 $ 4, Lady Gaga, jaotis 118, hind 6,30 dollarit. 8, Michael Jackson, Pealkiri 373, Hind $ 5.50 3, Mick Jagger, Pealkiri 610, Hind $ 7.90 2, Taylor Swift, Pealkiri 723, Hind $ 7.90Kui valite faili -k3 (kasutades veeru 3 alguses olevat rea sisu - veeru Pealkirja number), on väljund:
4, Lady Gaga, jaotis 118, hind 6,30 dollarit 7, John Lennon, jaotis 271, hind 7,90 $ 6, Elvis Presley, jaotis 335, hind 6,30 dollarit 8, Michael Jackson, jaotis 373, hind 5,50 $ 5, Johnny Cash, jaotis 482, hind 6,50 $ 1, Justin Timberlake, Pealkiri 545, Hind $ 6.30 3, Mick Jagger, Pealkiri 610, Hind $ 7.90 2, Taylor Swift, Pealkiri 723, Hind $ 7.90ja
$ sorteeri -k4 test.txttoodab nimekirja, sorteeritud hinna järgi:
8, Michael Jackson, Pealkiri 373, Hind $ 5,50 1, Justin Timberlake, Pealkiri 545, Hind 6,30 $ 4, Lady Gaga, Pealkiri 118, Hind 6,30 $ 6, Elvis Presley, Pealkiri 335, Hind 6,30 $ 5, Johnny Cash, Pealkiri 482, Hind 6,50 $ 2, Taylor Swift, jaotis 723, hind $ 7,90 3, Mick Jagger, jaotis 610, hind $ 7,90 7, John Lennon, jaotis 271, hind $ 7,90Sorteerimise tagurdamine
Võimalus -r muudab sorteerimise ümber. Näiteks kasutades ülaltoodud tulemusi:
$ sorteeri -k4 -r test.txtsaagis:
7, John Lennon, jaotis 271, hind $ 7,90 3, Mick Jagger, jaotis 610, hind $ 7,90 2, Taylor Swift, jaotis 723, hind $ 7,90 5, Johnny Cash, jaotis 482, hind $ 6,50 6, Elvis Presley, jaotis 335, hind $ 6,30 4, Lady Gaga, jaotis 118, hind 6,30 dollarit 1, Justin Timberlake, pealkiri 545, hind 6,30 dollarit 8, Michael Jackson, jaotis 373, hind 5,50 $Sorteeritud faili salvestamine
Faili sortimine ei salvesta seda. Sorteeritud loendi salvestamiseks failis kasutage ümberjuhatuse operaatorit:
sorteeri -k4 -r test.txt> test_new.txtkus "test_new.txt" on uus fail.
Streami väljundi sortimine
Saate rakendada ka sortimiskäsu voo väljundile, näiteks torujuhtme operaatorile:
$ ls -al | sorteeri -r -n -k5See sorteerib faili loendi, mille ls käsk on genereeritud faili suuruse järgi, alates suurimatest failidest. Operaator -n määrab pigem numbrilise sortimise kui tähestiku.