14 Noderīgi Linux šķirošanas komandas piemēri - 1. daļa


Kārtot ir Linux programma, ko izmanto ievades teksta failu rindiņu drukāšanai un visu failu saliedēšanai sakārtotā secībā. Komanda Kārtot aizņem tukšu vietu kā lauku atdalītāju un visu ievades failu kā kārtošanas atslēgu. Ir svarīgi pamanīt, ka sort sort faktiski nešķiro failus, bet drukā tikai sakārtoto izvadi, līdz jūs novirzāt izvadi.

Šī raksta mērķis ir padziļināti ieskatīties Linux ‘sort’ komandu ar 14 noderīgiem praktiskiem piemēriem, kas parādīs, kā Linux izmantot sortēšanas komandu.

1. Vispirms mēs izveidosim teksta failu (tecmint.txt), lai izpildītu komandu “kārtot” piemērus. Mūsu darba direktorijs ir ‘/ home/$USER/Desktop/tecmint.

Opcija ‘-e’ zemāk esošajā komandā ļauj interpretēt slīpsvītru un/n liek atbalsim ierakstīt katru virkni jaunā rindā.

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

2. Pirms sākam ar ‘kārtot’, apskatīsim faila saturu un izskatu.

$ cat tecmint.txt

3. Tagad kārtojiet faila saturu, izmantojot šādu komandu.

$ sort tecmint.txt

Piezīme. Iepriekš minētā komanda faktiski nešķiro teksta faila saturu, bet parāda tikai sakārtoto izvadi terminālā.

4. Kārtojiet faila ‘tecmint.txt’ saturu un ierakstiet to failā ar nosaukumu (sorted.txt) un pārbaudiet saturu, izmantojot komandu cat.

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

5. Tagad kārtojiet teksta faila ‘tecmint.txt’ saturu apgrieztā secībā, izmantojot slēdzi ‘-r’ un novirzot izvadi uz failu ‘reversesorted.txt’. Pārbaudiet arī jaunizveidotā faila satura sarakstu.

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

6. Mēs gatavojamies izveidot jaunu failu (lsl.txt) tajā pašā vietā, lai iegūtu detalizētus piemērus, un aizpildiet to, izmantojot mājas direktorija ‘ls -l’ izvadi.

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

Tagad būs redzami piemēri, kā kārtot saturu, pamatojoties uz citu lauku, nevis noklusējuma sākotnējām rakstzīmēm.

7. Kārtojiet faila ‘lsl.txt’ saturu, pamatojoties uz 2. kolonnu (kas apzīmē simbolisko saišu skaitu).

$ sort -nk2 lsl.txt

Piezīme. Opcija ‘-n’ iepriekšējā piemērā šķiro saturu skaitliski. Opcija ‘-n’ ir jāizmanto, ja mēs vēlējāmies kārtot failu, pamatojoties uz kolonnu, kurā ir skaitliskas vērtības.

8. Kārtojiet faila ‘lsl.txt’ saturu, pamatojoties uz 9. kolonnu (kas ir failu un mapju nosaukums un nav skaitlisks).

$ sort -k9 lsl.txt

9. Ne vienmēr ir svarīgi palaist kārtot komandu failā. Mēs varam to novadīt tieši terminālī ar faktisko komandu.

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

10. Kārtojiet un noņemiet dublikātus no teksta faila tecmint.txt. Pārbaudiet, vai dublikāts ir noņemts.

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

Līdz šim spēkā esošie noteikumi (ko mēs esam ievērojuši):

  1. Sarakstā priekšroka tiek dota rindām, kas sākas ar cipariem, un tās atrodas augšpusē, kamēr nav norādīts citādi (-r).
  2. Sarakstā priekšroka tiek dota rindām, kas sākas ar mazajiem burtiem, un tās atrodas augšpusē, kamēr nav norādīts citādi (-r).
  3. Saturs ir uzskaitīts, ņemot vērā alfabētu parādīšanos vārdnīcā, kamēr nav norādīts citādi (-r).
  4. Kārtojot komandu pēc noklusējuma, katra rinda tiek uzskatīta par virkni un pēc tam sakārtota atkarībā no alfabētu sastopamības vārdnīcā (priekšroka ir cipariem; skatiet 1. noteikumu).

11. Pašreizējā vietā izveidojiet trešo failu ‘lsla.txt’ un aizpildiet to ar komandas ‘ls -lA’ izvadi.

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

Tie, kas saprot komandu ‘ls’, zina, ka ‘ls -lA’ = ’ls -l’ + slēptie faili. Tātad lielākā daļa šo divu failu satura būtu vienādi.

12. Vienā kārtā kārtojiet divu failu saturu standarta izvadā.

$ sort lsl.txt lsla.txt

Ievērojiet failu un mapju atkārtošanos.

13. Tagad mēs varam redzēt, kā no šiem diviem failiem kārtot, sapludināt un noņemt dublikātus.

$ sort -u lsl.txt lsla.txt

Ievērojiet, ka dublikāti nav izlaisti. Varat arī ierakstīt izvadi jaunā failā, novirzot izvadi uz failu.

14. Mēs varam arī kārtot faila saturu vai izvadi, pamatojoties uz vairākām kolonnām. Kārtojiet komandas ‘ls -l’ izvadi, pamatojoties uz lauku 2,5 (Skaitliskais) un 9 (Numeriskais).

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

Tas pagaidām ir viss. Nākamajā rakstā mēs detalizēti aplūkosim dažus piemērus ‘kārtot’ komandai. Līdz tam sekojiet līdzi un sazinieties ar Tecmint. Turpiniet kopīgot. Turpiniet komentēt. Patīk un dalieties ar mums, kā arī palīdziet mums izplatīties.

Lasiet arī: 7 interesanti Linux ‘sort’ komandu piemēri - 2. daļa