14 kasulikku näidet Linuxi sortimiskäskudest - 1. osa


Sort on Linuxi programm, mida kasutatakse sisendtekstifailide ridade printimiseks ja kõigi failide liitmiseks järjestuses. Käsk Sorteerimine võtab välja eraldajana tühja ruumi ja sortimisklahvina kogu sisendfaili. Oluline on tähele panna, et sortimiskäsk ei sorteeri tegelikult faile, vaid printib ainult järjestatud väljundit, kuni väljund suunatakse ümber.

Selle artikli eesmärk on põhjalik ülevaade Linuxi käsust sort ‘sort’ koos 14 kasuliku praktilise näite abil, mis näitavad, kuidas sortimiskäsku Linuxis kasutada.

1. Kõigepealt loome käsu näidete sortimiseks tekstifaili (tecmint.txt). Meie töökataloog on ‘/ home/$USER/Desktop/tecmint.

Allolevas käsus olev valik ‘-e’ võimaldab seletada tagasilööki ja/n käsib kajal iga stringi uuele reale kirjutada.

$ echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

2. Enne kui hakkame sortima, vaatame faili sisu ja välimust.

$ cat tecmint.txt

3. Nüüd sorteerige faili sisu järgmise käsuga.

$ sort tecmint.txt

Märkus. Ülaltoodud käsk ei sorteeri tegelikult tekstifaili sisu, vaid näitab sorditud väljundit ainult terminalis.

4. Sorteerige faili „tecmint.txt” sisu ja kirjutage see faili nimega (sorted.txt) ning kontrollige sisu käsu cat abil.

$ sort tecmint.txt > sorted.txt
$ cat sorted.txt

5. Nüüd sorteerige tekstifaili „tecmint.txt” sisu vastupidises järjekorras, kasutades lülitit „-r” ja suunates väljundi faili „reversesorted.txt”. Kontrollige ka vastloodud faili sisuloendit.

$ sort -r tecmint.txt > reversesorted.txt
$ cat reversesorted.txt

6. Loome üksikasjalike näidete jaoks samas kohas uue faili (lsl.txt) ja täidame selle, kasutades oma kodukataloogi väljundit ‘ls -l’.

$ ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
$ cat lsl.txt

Nüüd näeme näiteid sisu sortimiseks muu välja ja mitte vaikimisi algustähtede põhjal.

7. Sorteeri faili “lsl.txt” sisu 2. veeru (mis tähistab sümboolsete linkide arvu) põhjal.

$ sort -nk2 lsl.txt

Märkus: ülaltoodud näite valik ‘-n’ sorteerib sisu numbriliselt. Valikut ‘-n’ tuleb kasutada siis, kui tahtsime faili sortida arvväärtusi sisaldava veeru alusel.

8. Sorteeri faili “lsl.txt” sisu 9. veeru (mis on failide ja kaustade nimi ning mis pole arvuline) põhjal.

$ sort -k9 lsl.txt

9. Sorteerimiskäsu käivitamine failis pole alati hädavajalik. Me saame selle otse terminali juhtida tegeliku käsuga.

$ ls -l /home/$USER | sort -nk5

10. Sorteeri ja eemalda duplikaadid tekstifailist tecmint.txt. Kontrollige, kas duplikaat on eemaldatud või mitte.

$ cat tecmint.txt
$ sort -u tecmint.txt

Seni reeglid (mida oleme jälginud):

  1. Loendis eelistatakse numbritega algavaid jooni ja need asuvad ülaosas, kuni pole teisiti täpsustatud (-r).
  2. Loendis eelistatakse väiketähtedega algavaid jooni ja need asuvad ülaosas, kuni pole teisiti täpsustatud (-r).
  3. Sisu on loetletud tähestike esinemise põhjal sõnastikus, kuni pole teisiti täpsustatud (-r).
  4. Vaikimisi käsuga Sorteeri käsitletakse iga rida stringina ja sorteeritakse see vastavalt sõnastikus esinevatele tähestikele (eelistatud numbriline; vt reegel - 1), kuni pole teisiti täpsustatud.

11. Looge praeguses asukohas kolmas fail ‘lsla.txt’ ja täitke see käsu ’ls -lA’ väljundiga.

$ ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
$ cat lsla.txt

Need, kes mõistavad käsku ls, teavad, et ‘ls -lA’ = ’ls -l’ + peidetud failid. Nii et suurem osa nende kahe faili sisust oleks sama.

12. Sorteeri kahe faili sisu standardväljundil ühe korraga.

$ sort lsl.txt lsla.txt

Pange tähele failide ja kaustade kordumist.

13. Nüüd näeme, kuidas nendest kahest failist duplikaate sortida, ühendada ja eemaldada.

$ sort -u lsl.txt lsla.txt

Pange tähele, et duplikaadid on väljundist välja jäetud. Samuti saate väljundi kirjutada uude faili, suunates väljundi faili.

14. Samuti võime sortida faili või väljundi sisu mitme veeru põhjal. Sorteeri käsu ‘ls -l’ väljund välja 2,5 (Numbriline) ja 9 (Mitt Numbriline) põhjal.

$ ls -l /home/$USER | sort -t "," -nk2,5 -k9

Praeguseks kõik. Järgmises artiklis käsitleme teile veel üksikasjalikult käsu ‘sort’ näiteid. Siiani olge Tecmintiga kursis ja ühenduses. Jätka jagamist. Jätka kommenteerimist. Meeldib ja jaga meid ning aitab meil levida.

Loe ka: 7 huvitavat Linuxi käsu näidet "sortimine" - 2. osa