Búsqueda de sitios web

7 interesantes ejemplos de comandos de 'ordenación' de Linux - Parte 2


En nuestro último artículo, cubrimos varios ejemplos del comando 'ordenar'. Si te lo perdiste, puedes ponerte al día siguiendo el siguiente enlace. En esta publicación, continuaremos desde donde lo dejamos en el artículo anterior, para cubrir los aspectos restantes del comando. De esta manera, ambos artículos juntos servirán como una guía completa para el comando 'sort' de Linux.

Antes de continuar, cree un archivo de texto llamado "mes.txt" y rellénelo con los datos que se proporcionan a continuación.

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

15. Ordenar el contenido del archivo por mes

El siguiente comando ordena el contenido del archivo “mes.txt” en orden cronológico según la abreviatura o el nombre del mes usando la opción '-M' que indica el '< comandosort' para tratar los datos como fechas y ordenarlos en consecuencia.

sort -M month.txt

16. Ordenar la salida por tamaño de archivo en formato legible por humanos

El siguiente comando combina los comandos 'ls' y 'sort' para realizar dos tareas. Primero, enumera el contenido del directorio de inicio del usuario en formato largo y luego canaliza esta lista de directorio al comando 'ordenar' para imprimir tamaños de archivos en un formato legible por humanos, lo que facilita la identificación de los archivos más grandes y más pequeños en El directorio.

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

17. Verificar la coherencia de los archivos ordenados

En el artículo anterior, generamos dos archivos de texto: 'sorted.txt' en el ejemplo número 4 y 'lsl.txt' en el ejemplo número 6. Somos conscientes de que ' sorted.txt' ya está ordenado, mientras que 'lsl.txt' no.

Para verificar el estado de clasificación de ambos archivos, emplearemos el comando 'sort', que nos permitirá confirmar si 'sorted.txt' permanece en el orden correcto y si 'lsl.txt' requiere clasificación.

sort -c sorted.txt

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

sort -c lsl.txt

18. Manejo de delimitadores cuando no se utilizan espacios en el archivo

Si el delimitador (separador) entre palabras es un espacio, el comando 'ordenar' interpreta automáticamente cualquier cosa después de un espacio horizontal como una nueva palabra. ¿Pero qué pasa cuando el delimitador no es un espacio?

Considere un archivo de texto, cuyo contenido está separado por algo que no sea espacio, como '|' o '\' o '+' o '.' o ...

Cree un archivo de texto donde los contenidos estén separados por +. Utilice el comando 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 ordene este archivo según el primer campo, que es numérico.

sort -t '+' -nk1 delimiter.txt

El segundo se basa en el 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. Ordenar aleatoriamente la salida por tamaño de archivo

Ordene la salida del comando ls -l para su directorio de inicio según la quinta columna, que representa la "cantidad de datos", en orden aleatorio.

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

Cada vez que ejecuta el script anterior, es probable que obtenga un resultado diferente, ya que el resultado se genera aleatoriamente.

Como se desprende claramente de la Regla número – 2 del último artículo, el comando sort prefiere las líneas que comienzan con caracteres en minúscula a los caracteres en mayúscula. Consulte también el ejemplo 3 en el último artículo, donde la cadena 'laptop' aparece antes de la cadena 'LAPTOP'.

20. Anulación de las preferencias de clasificación predeterminadas

¿Cómo anular la preferencia de clasificación predeterminada? Antes de que podamos anular la preferencia de clasificación predeterminada, debemos 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 olvides comparar el resultado con el que lograste en el ejemplo 3 y también puedes usar la opción '-f' también conocida como '--ignore- case' para obtener resultados muy organizados.

sort -f tecmint.txt

21. Combinar dos archivos de entrada en una sola operación

¿Qué tal ejecutar 'sort' en dos archivos de entrada y unirlos de una sola vez?

Creemos dos archivos de texto, a saber, 'file1.txt' y 'file2.txt', y rellénelos con algunos datos. En 'archivo1.txt', agregaremos números como se muestra a continuación. También usaremos el comando cat para inspeccionar 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 ordene y una la salida de ambos archivos.

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

Conclusión

En conclusión, este artículo ha explorado varios aspectos del comando 'sort' en Linux. Comenzamos con la clasificación básica por orden alfabético, nos aventuramos en la clasificación numérica y basada en fechas, e incluso abordamos los delimitadores personalizados. También aprendimos cómo anular las preferencias de clasificación predeterminadas para adaptarlas a nuestras necesidades.

Además, analizamos técnicas para comprobar si un archivo ya está ordenado y combinar operaciones de "ordenación" para múltiples archivos de entrada. Con el conocimiento adquirido aquí, tiene una poderosa herramienta a su disposición para ordenar y organizar datos de manera eficiente en un entorno Linux.

Esperamos que este artículo haya sido revelador y útil para sus esfuerzos en la línea de comandos. Continúe explorando, aprendiendo y dominando el arte de 'ordenar' para mejorar sus habilidades con Linux.