Rūšiuojamos prekės turi būti tam tikru būdu apriboti
Duomenys " Linux" tekstiniame faile gali būti rūšiuojami pagal rūšiavimo komandą tol, kol kiekvienas elementas tam tikru būdu yra ribojamas. Dažnai kablelis naudojamas kaip atskirtas informacijos atskyriklis.
Pagrindinės rūšiavimo taisyklės
Rūšiuoti komanda pertvarko eilutes teksto rinkmenoje, kad rūšiuoti jas skaitmenimis ir abėcėlės tvarka. Numatytos rūšies komandų taisyklės yra šios:
- Tekstas, prasidedantis skaičiumi, pasirodo prieš tekstą, kuris prasideda raide; mažesni numeriai rūšiuoti pirmiausia.
- Tekstas, prasidedantis raide, rodomu abėcėlėje anksčiau, kad pirmoji kitų teksto įrašų raidė yra rūšiuojama prieš tekstą, kuris prasideda raidėmis, kurios vėliau pateikiamos abėcėlėje.
- Kur tekstas prasideda didžiosiomis ir mažosiomis tos pačios raidės egzemplioriais, pirma mažiausia mažmeninė instancija yra rūšiuojama.
Rūšiuoti teksto rinkmeną
Jei norite rūšiuoti linijas delimituotuose "Linux" failuose, naudokite tokios rūšiavimo komandą :
$ sort -k2 test.txtkuris rūšiuoja failą "test.txt" pagal simbolius, prasidedančius antrame stulpelyje (k2 nurodo antrąjį stulpelį). Darant prielaidą, kad įvesties failo turinys yra:
1, Justin Timberlake, Titulinis 545, Kaina 7,30 $ 2, Taylor Swift, 723 antraštė, Kaina 7,90 $ 3, Mickas Jaggeris, 610 antraštė, Kaina 7,90 $ 4, Lady Gaga, 118 antraštė, Kaina 7,30 $ 5, Johnny Cash, antraštė 482, kaina 6,50 $ 6, Elvis Presley, antraštė 335, kaina $ 7.30 7, John Lennon, antraštė 271, kaina $ 7.90 8, Michael Jackson, antraštė 373, kaina $ 5.50Kadangi antrame stulpelyje šiame pavyzdyje yra vardai ir pavardės, surūšiuota išvestis sutvarkyta pirmojo kiekvieno asmens vardo raidės antrajame stulpelyje-Elvisas, Jonas, Džonis, Justinas, Lady, Michaelas, Mickas ir Tayloras. , kaip parodyta žemiau:
6, Elvis Presley, antraštė 335, kaina 6,30 $ 7, John Lennon, antraštė 271, kaina 7,90 $ 5, Johnny Cash, antraštė 482, kaina 6,50 $ 1, Justinas Timberlake, antraštė 545, kaina 6,30 $ 4, Lady Gaga, antraštė 118, kaina 6,30 $. 8, Michael Jackson, antraštė 373, kaina $ 5.50 3, Mick Jagger, antraštė 610, kaina $ 7.90 2, Taylor Swift, 723 antraštė, kaina $ 7.90Jei rūšiuojate failą -k3 (naudodamiesi linijos turiniu, prasidedančiu 3 stulpelyje, stulpelyje "Title number"), išvestis yra:
4, Lady Gaga, Title 118, Price 6.30 $ 7, John Lennon, Title 271, Price $ 7.90 6, Elvis Presley, Title 335, Price $ 6.30 8, Michael Jackson, Title 373, Price $ 5.50 5, Johnny Cash, Title 482, Price $ 6.50 1, Justin Timberlake, antraštė 545, kaina 6,30 $ 3, Mick Jagger, antraštė 610, kaina 7,90 $ 2, Taylor Swift, 723 antraštė, kaina 7,90 $ir
$ sort -k4 test.txtgamina sąrašą, surūšiuoti pagal kainą:
8, Michael Jackson, antraštė 373, kaina $ 5,50 1, Justinas Timberlake, antraštė 545, kaina 6,30 $ 4, Lady Gaga, antraštė 118, kaina 6,30 $ 6, Elvis Presley, antraštė 335, kaina 6,30 $ 5, Johnny Cash, antraštė 482, kaina 6,50 $. 2, Taylor Swift, antraštė 723, kaina $ 7.90 3, Mick Jagger, antraštė 610, kaina $ 7.90 7, John Lennon, antraštė 271, kaina $ 7.90Atvirkštinis rūšiavimas
Parinktis -r pakeičia rūšiavimą. Pavyzdžiui, naudodami aukščiau pateiktus rezultatus:
$ rūšis -k4 -r test.txtderlius:
7, John Lennon, antraštė 271, kaina $ 7.90 3, Mick Jagger, antraštė 610, kaina $ 7.90 2, Taylor Swift, antraštė 723, kaina $ 7.90 5, Johnny Cash, antraštė 482, kaina $ 6.50 6, Elvis Presley, antraštė 335, kaina $ 6.30 4, Lady Gaga, antraštė 118, kaina 6,30 $ 1, Justinas Timberlake, 545 antraštė, kaina 6,30 $ 8, Michael Jackson, antraštė 373, kaina 5,50 $Išsaugoto rūšiuoto failo
Failo rūšiavimas nesaugo jo. Norėdami išsaugoti rūšiuotą sąrašą failo, naudojate peradresavimo operatorių:
rūšiuoti -k4 -r test.txt> test_new.txtkur "test_new.txt" yra nauja failas.
Srauto išvesties rūšiavimas
Taip pat galite taikyti rūšiavimo komandą srauto išvestį, pvz., Vamzdžių operatorių:
$ ls -al | rūšiuokite -r -n -k5Tai sugrupuoja failo išvestį, sugeneruotą ls komandą pagal failo dydį, pradedant nuo didžiausių failų. Operatorius -n nurodo skaitmeninį rūšiavimą, o ne abėcėlę.