7 įdomūs „Linux“ rūšiavimo komandų pavyzdžiai - 2 dalis


Paskutiniame straipsnyje aptarėme įvairius rūšiavimo komandos pavyzdžius. Jei praleidote, galite tai peržiūrėti naudodamiesi žemiau esančia nuoroda. Tęsiant paskutinį įrašą, šiuo pranešimu siekiama aptarti likusias rūšiuoti komandas, kad abu straipsnis kartu būtų visas „Linux“ komandos rūšiavimo komandos vadovas.

  1. 14 „rūšiuoti“ komandų pavyzdžių sistemoje „Linux“

Prieš tęsdami toliau, sukurkite tekstinį failą „month.txt“ ir užpildykite jį žemiau pateiktais duomenimis.

$ echo -e "mar\ndec\noct\nsep\nfeb\naug" > month.txt
$ cat month.txt

15. Rūšiuoti failą „month.txt“ pagal mėnesio tvarką, naudojant jungiklį „M“ (–mėnesių rūšiavimas).

$ sort -M month.txt

Svarbu: atkreipkite dėmesį, kad komandai „rūšiuoti“ reikia bent 3 simbolių, kad būtų atsižvelgta į mėnesio pavadinimą.


16. Rūšiuoti duomenis, kurie yra žmonių skaitomo formato, tarkim, 1K, 2M, 3G, 2T, kur K, M, G, T reiškia Kilo, Mega, Giga, Tera.

$ ls -l /home/$USER | sort -h -k5

17. Paskutiniame straipsnyje sukūrėme failą „sorted.txt“ 4 pavyzdyje ir kitą tekstinį failą „lsl.txt“ 6 pavyzdyje. Žinome, kad „sorted.txt“ jau yra rūšiuojamas, o „lsl.txt“ nėra. Leidžia patikrinti, ar abu failai yra rūšiuojami, ar nenaudoja rūšiavimo komandos.

$ sort -c sorted.txt

Jei jis grąžina 0, reiškia, kad failas yra rūšiuojamas ir nėra konflikto.

$ sort -c lsl.txt

Pranešimų sutrikimas. Konfliktas ..

18. Jei ribotuvas (skyriklis) tarp žodžių yra tarpas, rūšiavimo komanda automatiškai viską interpretuoja po horizontaliu tarpu kaip naują žodį. Ką daryti, jei ribotuvas nėra tarpas?

Panagrinėkime tekstinį failą, kurio turinį skiria bet kas kitas, išskyrus tarpą, pvz., „|“ Arba „\“ arba „+“ arba „.“ Arba….

Sukurkite tekstinį failą, kuriame turinį skiria +. Norėdami patikrinti failo turinį, naudokite „katė“.

$ echo -e "21+linux+server+production\n11+debian+RedHat+CentOS\n131+Apache+Mysql+PHP\n7+Shell Scripting+python+perl\n111+postfix+exim+sendmail" > delimiter.txt
$ cat delimiter.txt

Dabar rūšiuoti šį failą pagal 1 lauką, kuris yra skaitinis.

$ sort -t '+' -nk1 delimiter.txt

Antra pagal 4 lauką, kuris nėra skaitmeninis.

Jei atribiklis yra skirtukas, vietoje „+“ galite naudoti $’’, kaip parodyta aukščiau pateiktame pavyzdyje.

19. Rūšiuokite „ls -l“ komandos turinį savo namų katalogui, remdamiesi 5 stulpeliu, kuris rodo „duomenų kiekį“ atsitiktine tvarka.

$ ls -l /home/avi/ | sort -k5 -R 

Kiekvieną kartą, kai paleidžiate pirmiau pateiktą scenarijų, greičiausiai gausite kitokį rezultatą, nes rezultatas generuojamas atsitiktinai.

Kaip aiškiai matyti iš paskutinio straipsnio Taisyklės numeris - 2, rūšiuokite komandą, norinčią eilutės, pradedant mažosiomis, o ne su didžiosiomis. Taip pat patikrinkite 3 pavyzdį paskutiniame straipsnyje, kur eilutė „nešiojamas“ rodoma prieš eilutę „LAPTOP“.

20. Kaip panaikinti numatytąją rūšiavimo nuostatą? kad galėtume nepaisyti numatytosios rūšiavimo nuostatos, turime eksportuoti aplinkos kintamąjį LC_ALL į c. Norėdami tai padaryti, paleiskite žemiau esantį kodą savo komandų eilutės eilutėje.

$ export LC_ALL=C

Tada surūšiuokite teksto failą „tecmint.txt“, kuris pakeis numatytąją rūšiavimo nuostatą.

$ sort tecmint.txt

Nepamirškite palyginti išvesties su tuo, kurį pasiekėte 3 pavyzdyje, taip pat galite naudoti parinktį "-f", dar žinomą kaip "–ignore-case", kad gautumėte daug organizuotos produkcijos.

$ sort -f tecmint.txt

21. Kaip elgtis „rūšiuoti“ dviem įvesties failais ir sujungti juos vienu ypu!

Leidžia sukurti du tekstinius failus, būtent „file1.txt“ ir „file2.txt“, ir užpildyti kai kuriais duomenimis. Čia „file1.txt“ užpildome skaičiais, kaip nurodyta toliau. Taip pat naudojo komandą „katė“ failo turiniui patikrinti.

$ echo -e “5 Reliable\n2 Fast\n3 Secure\n1 open-source\n4 customizable” > file1.txt
$ cat file1.txt

Antrąjį failą „file2.txt“ užpildykite keletu duomenų kaip.

$ echo -e “3 RedHat\n1 Debian\n5 Ubuntu\n2 Kali\n4 Fedora” > file2.txt
$ cat file2.txt

Dabar rūšiuoti ir prisijungti prie abiejų failų išvesties.

$ join <(sort -n file1.txt) <(sort file2.txt)

Kol kas viskas. Palaikykite ryšį. Laikykitės „Tecmint“. Pateikite mums savo vertingus atsiliepimus toliau pateiktose pastabose. Patinka ir dalinkitės mumis bei padėkite mums plisti