7 ejemplos interesantes de comandos 'sort' de Linux - Parte 2


En nuestro último artículo, hemos cubierto varios ejemplos sobre el comando de ordenación, si se ha perdido, puede revisarlo usando el enlace a continuación. Continuando con la última publicación, esta publicación tiene como objetivo cubrir el resto del comando sort para que ambos artículos juntos sirvan como una guía completa para el comando "sort" de Linux.

  1. 14 ‘sort’ Command Examples in Linux

Antes de continuar, cree un archivo de texto "month.txt" y complételo con los datos que se indican a continuación.

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

15. Ordene el archivo "month.txt" según el orden de los meses usando el interruptor "M" (–ordenar por meses).

$ sort -M month.txt

Importante: tenga en cuenta que el comando "ordenar" necesita al menos 3 caracteres para considerar el nombre del mes.

16. Ordene los datos que están en formato legible para humanos, digamos 1K, 2M, 3G, 2T, donde K, M, G, T representa Kilo, Mega, Giga, Tera.

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

17. En el último artículo hemos creado un archivo 'sorted.txt' en el ejemplo número 4 y otro archivo de texto 'lsl.txt' en el ejemplo número 6. Sabemos que 'sorted.txt' ya está ordenado mientras que 'lsl.txt' no es. Vamos a comprobar que ambos archivos están ordenados o no usando el comando de clasificación.

$ sort -c sorted.txt

Si devuelve 0, significa que el archivo está ordenado y no hay conflicto.

$ sort -c lsl.txt

Informes de trastorno. Conflicto..

18. Si el delimitador (separador) entre palabras son espacios, el comando de ordenación interpreta automáticamente cualquier cosa después del espacio horizontal como una nueva palabra. ¿Qué pasa si el delimitador no es el espacio?

Considere un archivo de texto, cuyo contenido está separado por cualquier cosa que no sea un espacio como "|" o "\" o "+" o "." O….

Cree un archivo de texto donde los contenidos estén separados por +. Utilice "cat" para comprobar el contenido del archivo.

$ 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

Ahora clasifique este archivo según el primer campo, que es numérico.

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

Y segundo sobre la base del cuarto campo que no es numérico.

Si el delimitador es Tab, puede usar $ "\ t" en lugar de "+", como se muestra en el ejemplo anterior.

19. Ordene el contenido del comando "ls -l" para su directorio de inicio sobre la base de la quinta columna que representa la "cantidad de datos" en orden aleatorio.

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

Cada vez que ejecute la secuencia de comandos anterior, es probable que obtenga un resultado diferente, ya que el resultado se genera aleatoriamente.

Como se desprende de la regla número 2 del artículo anterior, el comando de ordenación prefiere la línea que comienza con caracteres en minúscula sobre los caracteres en mayúscula. Consulte también el ejemplo 3 del último artículo, donde aparece la cadena "laptop" antes de la cadena "LAPTOP".

20. ¿Cómo anular la preferencia de clasificación predeterminada? antes de que podamos anular la preferencia de ordenación predeterminada, necesitamos exportar la variable de entorno LC_ALL a c. Para hacer esto, ejecute el siguiente código en su línea de comandos.

$ export LC_ALL=C

Y luego ordene el archivo de texto "tecmint.txt" anulando la preferencia de clasificación predeterminada.

$ sort tecmint.txt

No olvide comparar el resultado con el que logró en el ejemplo 3 y también puede usar la opción "-f", también conocida como "–ignorar mayúsculas y minúsculas" para obtener un resultado muy organizado.

$ sort -f tecmint.txt

21. ¿Qué tal ejecutar "ordenar" en dos archivos de entrada y unirlos de una vez?

Vamos a crear dos archivos de texto, a saber, "archivo1.txt" y "archivo2.txt", y completarlo con algunos datos. Aquí estamos completando "file1.txt" con los números que se muestran a continuación. También usó el comando "cat" para verificar el contenido del archivo.

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

Y complete el segundo archivo "file2.txt" con algunos datos como.

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

Ahora ordena y une la salida de ambos archivos.

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

Eso es todo por ahora. Mantente conectado. Mantente en Tecmint. Envíenos sus valiosos comentarios en los comentarios a continuación. Me gusta y comparte con nosotros y ayúdanos a difundir