7 Interessante Linux-sortering Kommandoeksempler - Del 2


I vores sidste artikel har vi dækket forskellige eksempler på sorteringskommandoer, hvis du har gået glip af det, kan du gå igennem det ved hjælp af nedenstående link. I forlængelse af det sidste indlæg sigter dette indlæg mod at dække den resterende slags kommando, så begge artiklen sammen fungerer som en komplet guide til Linux 'sort' -kommando.

  1. 14 'sorter' kommandoeksempler i Linux

Inden vi fortsætter videre, skal du oprette en tekstfil 'måned.txt' og udfylde den med dataene som angivet nedenfor.

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

15. Sorter filen 'måned.txt' på basis af månedsrækkefølge ved hjælp af kontakten 'M' (–månedssortering).

$ sort -M month.txt

Vigtigt: Bemærk, at kommandoen "sorter" kræver mindst 3 tegn for at overveje månedens navn.


16. Sorter de data, der er i menneskeligt læsbart format, siger 1K, 2M, 3G, 2T, hvor K, M, G, T repræsenterer Kilo, Mega, Giga, Tera.

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

17. I den sidste artikel har vi oprettet en fil 'sorted.txt' i eksempel nummer 4 og en anden tekstfil 'lsl.txt' i eksempel nummer 6. Vi ved, at 'sorted.txt' allerede er sorteret, mens 'lsl.txt' er ikke. Lad os kontrollere, at begge filer er sorteret eller ikke ved hjælp af sorteringskommandoen.

$ sort -c sorted.txt

Hvis den returnerer 0, betyder det, at filen er sorteret, og at der ikke er nogen konflikt.

$ sort -c lsl.txt

Rapporter forstyrrelse. Konflikt..

18. Hvis afgrænseren (skillelinjen) mellem ord er mellemrum, fortolker sorteringskommandoen automatisk alt efter vandret mellemrum som nyt ord. Hvad hvis afgrænseren ikke er plads?

Overvej en tekstfil, hvis indhold er adskilt af noget andet end mellemrum såsom '|' eller '\' eller '+' eller '.' Eller….

Opret en tekstfil, hvor indholdet adskilles med +. Brug 'kat' til at kontrollere indholdet af filen.

$ 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

Sorter nu denne fil på basis af det første felt, som er numerisk.

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

Og andet på basis af 4. felt, som ikke er numerisk.

Hvis skillelinjen er Tab, kan du bruge $ '' i stedet for '+', som vist i eksemplet ovenfor.

19. Sorter indholdet af 'ls -l' -kommandoen til din hjemmekatalog på basis af 5. kolonne, der repræsenterer 'datamængden' i tilfældig rækkefølge.

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

Hver gang du kører ovenstående stykke, vil du sandsynligvis få et andet resultat, da resultatet genereres tilfældigt.

Som det fremgår af regelnummeret - 2 fra den sidste artikel, foretrækker sorteringskommandoen linje, der starter med små bogstaver frem for store bogstaver. Kontroller også eksempel 3 i sidste artikel, hvor streng 'laptop' vises før streng 'LAPTOP'.

20. Hvordan tilsidesættes standardsorteringsindstillingen? før vi er i stand til at tilsidesætte standardsorteringspræferencen, skal vi eksportere miljøvariablen LC_ALL til c. For at gøre dette skal du køre nedenstående kode på din kommandolinjeprompt.

$ export LC_ALL=C

Og sorter derefter tekstfilen 'tecmint.txt', der tilsidesætter standardsorteringsindstillingen.

$ sort tecmint.txt

Glem ikke at sammenligne output med det, du opnåede i eksempel 3, og du kan også bruge option '-f' aka '–ignore-case' for at få meget organiseret output.

$ sort -f tecmint.txt

21. Hvad med at køre 'sorter' på to inputfiler og slutte sig til dem på én gang!

Lad os oprette to tekstfiler, nemlig 'file1.txt' og 'file2.txt' og udfylde den med nogle data. Her udfylder vi 'file1.txt' med tal som nedenfor. Brugte også 'cat' kommando til at kontrollere indholdet af filen.

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

Og udfyld anden fil 'file2.txt' med nogle data som.

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

Sorter og slut nu til output for begge filer.

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

Det er alt for nu. Hold forbindelsen. Hold til Tecmint. Giv os din værdifulde feedback i kommentarerne nedenfor. Synes godt om og del os og hjælp os med at blive spredt