7 interesanti Linux šķirošanas komandu piemēri - 2. daļa


Mūsu pēdējā rakstā mēs esam apskatījuši dažādus šķirošanas komandu piemērus. Ja esat nokavējis, varat to iziet, izmantojot zemāk esošo saiti. Pēdējā ziņojuma turpinājumā šī ziņa ir paredzēta, lai aptvertu atlikušo kārtošanas komandu, lai abi raksti kopā kalpotu kā pilnīgs ceļvedis komandai Linux ‘kārtot’.

  1. 14 komandu sakārtošanas kārtojumi Linux

Pirms turpinām turpināt, izveidojiet teksta failu ‘month.txt’ un aizpildiet to ar tālāk norādītajiem datiem.

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

15. Kārtojiet failu ‘month.txt’, pamatojoties uz mēneša secību, izmantojot slēdzi ‘M’ (–mēnešu kārtošana).

$ sort -M month.txt

Svarīgi: ņemiet vērā, ka ‘sort’ komandai ir nepieciešamas vismaz 3 rakstzīmes, lai apsvērtu mēneša nosaukumu.


16. Kārtojiet datus, kas ir lasāmā formātā, piemēram, 1K, 2M, 3G, 2T, kur K, M, G, T apzīmē Kilo, Mega, Giga, Tera.

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

17. Pēdējā rakstā mēs esam izveidojuši failu “sorted.txt” 4. piemērā un citu teksta failu “lsl.txt” 6. piemērā. Mēs zinām, ka “sorted.txt” jau ir sakārtots, kamēr “lsl.txt” nav. Ļauj pārbaudīt, vai abi faili ir sakārtoti vai neizmanto, izmantojot kārtojumu.

$ sort -c sorted.txt

Ja tas atgriež 0, tas nozīmē, ka fails ir sakārtots un nav konflikta.

$ sort -c lsl.txt

Ziņojumi par traucējumiem. Konflikts ..

18. Ja atdalītājs (atdalītājs) starp vārdiem ir atstarpe, sort komanda automātiski interpretē visu pēc horizontālās atstarpes kā jaunu vārdu. Ko darīt, ja norobežotājs nav atstarpe?

Apsveriet teksta failu, kura saturu atdala nekas cits kā atstarpe, piemēram, “|” vai “\” vai “+” vai “.” Vai….

Izveidojiet teksta failu, kurā saturu atdala +. Izmantojiet ‘cat’, lai pārbaudītu faila saturu.

$ 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

Tagad kārtojiet šo failu, pamatojoties uz 1. lauku, kas ir skaitlisks.

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

Un otrais, pamatojoties uz 4. lauku, kas nav skaitlisks.

Ja atdalītājs ir tabulēšanas taustiņš, “+” vietā varat izmantot $’’, kā parādīts iepriekšējā piemērā.

19. Kārtojiet savas mājas direktorijas komandas ‘ls -l’ saturu, pamatojoties uz 5. kolonnu, kas nejaušā secībā norāda ‘datu daudzumu’.

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

Katru reizi, palaižot iepriekš minēto skriptu, jūs, iespējams, saņemsit atšķirīgu rezultātu, jo rezultāts tiek ģenerēts nejauši.

Kā skaidrs no kārtulas Rule number - 2 no pēdējā raksta, kārtojiet komandu priekšroku rindai, kas sākas ar mazajiem burtiem, nevis ar lielajiem burtiem. Pārbaudiet arī pēdējā raksta 3. piemēru, kur virkne ‘laptop’ parādās pirms virknes ‘LAPTOP’.

20. Kā ignorēt noklusējuma šķirošanas izvēli? pirms mēs varam ignorēt noklusējuma šķirošanas izvēli, mums ir jāeksportē vides mainīgais LC_ALL uz c. Lai to izdarītu, komandrindas uzvednē palaidiet zemāk redzamo kodu.

$ export LC_ALL=C

Pēc tam kārtojiet teksta failu ‘tecmint.txt’, kas ignorē noklusējuma kārtošanas preferenci.

$ sort tecmint.txt

Neaizmirstiet salīdzināt izvadi ar 3. piemērā sasniegto, kā arī varat izmantot opciju ‘-f’ aka ‘–ignore-case’, lai iegūtu daudz organizētu izvadi.

$ sort -f tecmint.txt

21. Kā būtu palaist ‘kārtot’ divus ievades failus un savienot tos vienā piegājienā!

Ļauj izveidot divus teksta failus, proti, “file1.txt” un “file2.txt”, un aizpildīt to ar dažiem datiem. Šeit mēs aizpildām ‘file1.txt’ ar cipariem, kā norādīts zemāk. Izmanto arī komandu “cat”, lai pārbaudītu faila saturu.

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

Un aizpildiet otro failu ‘file2.txt’ ar dažiem datiem kā.

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

Tagad kārtojiet un pievienojiet abu failu izvadi.

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

Tas pagaidām ir viss. Uzturēt savienojumu. Turiet Tecmint. Lūdzu, sniedziet mums vērtīgas atsauksmes zemāk esošajos komentāros. Patīk un dalieties ar mums, kā arī palīdziet mums izplatīties