7 huvitavat Linuxi sortimiskäsunäidet - 2. osa


Oma viimases artiklis oleme käsitlenud erinevaid sorteerimiskäskude näiteid. Kui te pole seda proovinud, võite selle läbi vaadata alloleva lingi abil. Viimase postituse jätkuna on selle postituse eesmärk hõlmata ülejäänud sortimiskäsku nii, et mõlemad artiklid toimiksid täieliku juhendina Linuxi sortimise käsule.

  1. 14 Linuxi käsunäidet "sortimine"

Enne kui jätkame, looge tekstifail ‘month.txt’ ja täitke see allpool toodud andmetega.

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

15. Sorteeri fail ‘kuu.txt’ kuu järjekorra alusel, kasutades lülitit ‘M’ (–kuu sortimine).

$ sort -M month.txt

Tähtis. Pange tähele, et käsk ‘sort’ vajab kuu nime kaalumiseks vähemalt kolme tähemärki.


16. Sorteeri andmed, mis on inimloetavas vormingus, näiteks 1K, 2M, 3G, 2T, kus K, M, G, T tähistab Kilo, Mega, Giga, Tera.

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

17. Viimases artiklis oleme loonud faili sorted.txt näites number 4 ja teise tekstifaili lsl.txt näites number 6. Teame, et sorted.txt on juba sorteeritud, samas kui 'lsl.txt' ei ole. Võimaldab kontrollida, kas mõlemad failid on sorteeritud või mitte, kasutades sortimiskäsu.

$ sort -c sorted.txt

Kui see tagastab 0, tähendab see, et fail on sorditud ja konflikti pole.

$ sort -c lsl.txt

Aruannete häire. Konflikt ..

18. Kui sõnade vaheline eraldaja (eraldaja) on tühik, tõlgendab sortimise käsk horisontaalse tühiku järel automaatselt kõike uut sõnana. Mis siis, kui eraldaja pole ruum?

Mõelgem tekstifailile, mille sisu eraldab midagi muud kui tühik, näiteks „|” või „\” või „+” või „.” Või….

Looge tekstifail, kus sisu eraldatakse + -ga. Faili sisu kontrollimiseks kasutage sõna "kass".

$ 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

Nüüd sorteerige see fail arvuvälise 1. välja põhjal.

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

Ja teine u200bu200bneljanda välja põhjal, mis pole arvuline.

Kui eraldaja on Tab, võite tähe „+” asemel kasutada $’\ t’, nagu on näidatud ülaltoodud näites.

19. Sorteeri oma kodukataloogi käsu ‘ls -l’ sisu viienda veeru põhjal, mis tähistab „andmete hulka“ juhuslikus järjekorras.

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

Iga kord, kui käivitate ülaltoodud skripti, saate tõenäoliselt erineva tulemuse, kuna tulemus genereeritakse juhuslikult.

Nagu viimase artikli reegli number - 2 järgi on selge, eelista sortimise käsk rida, mis algab väikeste tähtedega, mitte suurtähtedega. Vaadake ka viimase artikli näidet 3, kus enne stringi ‘LAPTOP’ ilmub string ‘laptop’.

20. Kuidas tühistada vaikimisi sortimiseelistus? enne kui suudame vaikimisi sortimiseelistuse alistada, peame keskkonnamuutuja LC_ALL eksportima c-sse. Selleks käivitage käsurea viipal järgmine kood.

$ export LC_ALL=C

Ja siis sorteerige tekstifail ‘tecmint.txt’, mis tühistab vaikimisi sortimiseelistuse.

$ sort tecmint.txt

Ärge unustage väljundit võrrelda näites 3 saavutatud väljundiga ning palju korrastatud väljundi saamiseks võite kasutada valikut ‘-f’ aka ‘–ignore-case’.

$ sort -f tecmint.txt

21. Kuidas oleks kahe sortimisfaili ‘sortimine’ käivitamisega ja ühe korraga ühendamisega!

Võimaldab luua kaks tekstifaili, nimelt 'file1.txt' ja 'file2.txt' ning asustada see mõningate andmetega. Siinkohal asustame faili file1.txt allpool toodud numbritega. Kasutas faili sisu kontrollimiseks ka käsku 'kass'.

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

Ja asustage teine u200bu200bfail ‘file2.txt’ mõne andmega.

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

Nüüd sorteerige ja ühendage mõlema faili väljund.

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

Praeguseks kõik. Hoidke ühendust. Hoidke Tecminti. Palun andke meile oma väärtuslikku tagasisidet allpool toodud kommentaarides. Meeldib ja jaga meid ning aitab meil levida