Izmanto Linux kārtošanas komandu

Sastādītie posteņi kaut kādā veidā jāierobežo

Datus Linux teksta failā var sakārtot pēc kārtīšanas komandas, kamēr katrs elements ir norobežots kādā veidā. Bieži vien komats tiek izmantots kā atdalītājs informācijai, kas tiek norobežota.

Galvenie šķirošanas noteikumi

Kārtojuma komanda pārorientē teksta faila līnijas, lai tās šķirotu pēc cipariem un alfabēta. Kārtotas komandas noklusējuma noteikumi ir šādi:

Teksta faila šķirošana

Lai šķirotu līnijas norobežotā Linux failā, jūs izmantojat kārtulas komandu šādi:

$ kārtot -k2 test.txt

kas sakārto failu "test.txt" saskaņā ar rakstzīmēm, kas sākas ar otro kolonnu (k2 attiecas uz otro kolonnu). Pieņemot, ka ievades faila saturs ir:

1, Justin Timberlake, sadaļa 545, cena 7,30 $ 2, Taylor Swift, sadaļa 723, cena 7,90 $ 3, Mick Jagger, sadaļa 610, cena 7,90 $ 4, Lady Gaga, sadaļa 118, cena 7,30 $ 5, Johnny Cash, virsraksts 482, cena 6,50 $ 6, Elviss Preslijs, sadaļa 335, cena 7,30 $ 7, John Lennon, sadaļa 271, cena 7,90 $ 8, Michael Jackson, sadaļa 373, cena 5,50 $

Tā kā šajā piemērā otrajai kolonnai ir vārds un uzvārdi, sakārtotā izlaide tiek sakārtota katras personas vārda pirmajā burta otrajā kolonnā-Elvisam, Džonam, Džonijam, Džastinam, Lady, Michaelam, Mickam un Tayloram , kā parādīts zemāk:

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

Ja jūs sakārtojat failu ar -k3 (izmantojot rindas saturu, kas sākas ar 3. sleju - sadaļas numura sleju), produkcija ir:

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

un

$ kārtot -k4 test.txt

izveido sarakstu, sakārtots pēc cenas:

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

Kārtojuma maiņa

-r opcija apgriež šķirošanu. Piemēram, izmantojot iepriekš minētos rezultātus:

$ kārtot -k4 -r test.txt

raža:

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

Saglabātā šķirotā faila saglabāšana

Faila šķirošana to neuzglabā. Lai saglabātu šķiroto failu sarakstu, jūs izmantojat novirzīšanas operatoru:

kārtot -k4 -r test.txt> test_new.txt

kur "test_new.txt" ir jaunais fails.

Stream izejas šķirošana

Jūs varat arī pielietot kārtulas komandu uz plūsmas izeju, piemēram, cauruļu operatoru:

$ ls -al | kārtot -r -n -k5

Tas noņem faila saraksta izvadi, ko rada ls komanda pēc faila lieluma, sākot ar lielākajiem failiem. Operators -n norāda ciparu šķirošanu, nevis alfabētisko.