7 exemples interessants d'ordres d'ordenació de Linux - Part 2


Al nostre darrer article hem tractat diversos exemples sobre l'ordre d'ordenació, si us ho heu perdut, podeu fer-ho mitjançant l'enllaç següent. Com a continuació de l'última publicació, aquesta publicació té com a objectiu cobrir la resta de l'ordre d'ordenació, de manera que tant l'article serveix com a guia completa per a l'ordre ordenar de Linux.

  1. 14 exemples d'ordres sort a Linux

Abans de continuar més, creeu un fitxer de text month.txt i ompliu-lo amb les dades que es mostren a continuació.

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

15. Ordena el fitxer month.txt segons l'ordre del mes utilitzant l'interruptor M (–month-sort).

$ sort -M month.txt

Important: tingueu en compte que l'ordre ordenar necessita almenys 3 caràcters per considerar el nom del mes.


16. Ordena les dades que estan en format llegible per persones, per exemple 1K, 2M, 3G, 2T, on K,M,G,T representa Kilo, Mega, Giga, Tera.

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

17. En l'últim article hem creat un fitxer 'sorted.txt' a l'exemple número 4 i un altre fitxer de text 'lsl.txt' a l'exemple número 6. Sabem que 'sorted.txt' ja està ordenat mentre que 'lsl.txt' no és. Comprovem que els dos fitxers estiguin ordenats o no utilitzant l'ordre d'ordenació.

$ sort -c sorted.txt

Si retorna 0, significa que el fitxer està ordenat i no hi ha cap conflicte.

$ sort -c lsl.txt

Informes Trastorn. Conflicte..

18. Si el delimitador (separador) entre paraules és espai, l'ordre d'ordenació interpreta automàticament qualsevol cosa després de l'espai horitzontal com a paraula nova. Què passa si el delimitador no és espai?

Penseu en un fitxer de text, el contingut del qual està separat per qualsevol cosa que no sigui un espai com ara '|' o '\' o '+' o '.' o....

Creeu un fitxer de text on els continguts estiguin separats per +. Utilitzeu cat per comprovar el contingut del fitxer.

$ 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

Ara ordena aquest fitxer en funció del primer camp que és numèric.

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

I el segon sobre la base del quart camp que no és numèric.

Si el delimitador és Tab, podeu utilitzar $'\t' en lloc de '+', tal com es mostra a l'exemple anterior.

19. Ordena el contingut de l'ordre 'ls -l' per al teu directori d'inici sobre la base de la cinquena columna que representa la 'quantitat de dades' en ordre aleatori.

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

Cada vegada que executeu la part de l'script anterior, és probable que obtingueu un resultat diferent, ja que el resultat es genera aleatòriament.

Tal com es desprèn del número de regla: 2 de l'últim article, l'ordre d'ordenació prefereix la línia que comenci amb caràcters en minúscules sobre els caràcters en majúscules. Comproveu també l'exemple 3 de l'últim article, on la cadena laptop apareix abans de la cadena LAPTOP.

20. Com anul·lar la preferència d'ordenació predeterminada? abans de poder anul·lar la preferència d'ordenació per defecte, hem d'exportar la variable d'entorn LC_ALL a c. Per fer-ho, executeu el codi següent a la vostra línia d'ordres.

$ export LC_ALL=C

A continuació, ordeneu el fitxer de text tecmint.txt anul·lant la preferència d'ordenació predeterminada.

$ sort tecmint.txt

No us oblideu de comparar la sortida amb la que heu aconseguit a l'exemple 3 i també podeu utilitzar l'opció '-f' també coneguda com '–ignore-case' per obtenir una sortida molt organitzada.

$ sort -f tecmint.txt

21. Què tal executar ordenar en dos fitxers d'entrada i unir-los d'una vegada!

Permet crear dos fitxers de text, fitxer1.txt i fitxer2.txt i omplir-lo amb algunes dades. Aquí estem emplenant fitxer1.txt amb els números com a continuació. També s'utilitza l'ordre cat per comprovar el contingut del fitxer.

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

I ompliu el segon fitxer 'file2.txt' amb algunes dades com a.

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

Ara ordena i uneix la sortida dels dos fitxers.

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

Això és tot per ara. Mantingueu-vos connectats. Seguiu amb Tecmint. Si us plau, proporcioneu-nos els vostres valuosos comentaris als comentaris següents. Fes m'agrada i comparteix-nos i ajuda'ns a difondre'ns