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’.
- 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