14 ejemplos útiles del comando sort de Linux - Parte 1


Sort es un programa de Linux que se utiliza para imprimir líneas de archivos de texto de entrada y la concatenación de todos los archivos en orden ordenado. El comando de clasificación toma un espacio en blanco como separador de campo y el archivo de entrada completo como clave de clasificación. Es importante notar que el comando sort no clasifica los archivos, solo imprime la salida ordenada, hasta que redirige la salida.

Este artículo tiene como objetivo una visión profunda del comando "sort" de Linux con 14 ejemplos prácticos útiles que le mostrarán cómo usar el comando sort en Linux.

1. Primero crearemos un archivo de texto (tecmint.txt) para ejecutar ejemplos de comandos "ordenar". Nuestro directorio de trabajo es "/ home/$USER/Desktop/tecmint.

La opción "-e" en el siguiente comando permite la interpretación de la barra invertida y/n le dice a echo que escriba cada cadena en una nueva línea.

$ echo -e "computer\nmouse\nLAPTOP\ndata\nRedHat\nlaptop\ndebian\nlaptop" > tecmint.txt

2. Antes de comenzar con "ordenar", echemos un vistazo al contenido del archivo y su apariencia.

$ cat tecmint.txt

3. Ahora ordena el contenido del archivo usando el siguiente comando.

$ sort tecmint.txt

Nota: El comando anterior en realidad no ordena el contenido del archivo de texto, solo muestra la salida ordenada en la terminal.

4. Ordene el contenido del archivo "tecmint.txt" y escríbalo en un archivo llamado (sorted.txt) y verifique el contenido usando el comando cat.

$ sort tecmint.txt > sorted.txt
$ cat sorted.txt

5. Ahora ordene el contenido del archivo de texto "tecmint.txt" en orden inverso usando el interruptor "-r" y redirija la salida a un archivo "reversesorted.txt". También verifique la lista de contenido del archivo recién creado.

$ sort -r tecmint.txt > reversesorted.txt
$ cat reversesorted.txt

6. Vamos a crear un nuevo archivo (lsl.txt) en la misma ubicación para obtener ejemplos detallados y completarlo usando la salida de "ls -l" para su directorio de inicio.

$ ls -l /home/$USER > /home/$USER/Desktop/tecmint/lsl.txt
$ cat lsl.txt

Ahora veremos ejemplos para ordenar el contenido en base a otro campo y no a los caracteres iniciales predeterminados.

7. Ordene el contenido del archivo "lsl.txt" según la segunda columna (que representa el número de enlaces simbólicos).

$ sort -nk2 lsl.txt

Nota: La opción "-n" en el ejemplo anterior ordena los contenidos numéricamente. La opción "-n" debe usarse cuando deseamos ordenar un archivo en base a una columna que contiene valores numéricos.

8. Ordene el contenido del archivo "lsl.txt" basándose en la novena columna (que es el nombre de los archivos y carpetas y no es numérico).

$ sort -k9 lsl.txt

9. No siempre es esencial ejecutar el comando sort en un archivo. Podemos canalizarlo directamente en la terminal con el comando real.

$ ls -l /home/$USER | sort -nk5

10. Ordene y elimine los duplicados del archivo de texto tecmint.txt. Compruebe si el duplicado se ha eliminado o no.

$ cat tecmint.txt
$ sort -u tecmint.txt

Reglas hasta ahora (lo que hemos observado):

  1. Se prefieren las líneas que comienzan con números en la lista y se encuentran en la parte superior hasta que se especifique lo contrario (-r).
  2. Se prefieren las líneas que comienzan con letras minúsculas en la lista y se encuentran en la parte superior hasta que se especifique lo contrario (-r).
  3. Los contenidos se enumeran según la aparición de alfabetos en el diccionario hasta que se especifique lo contrario (-r).
  4. Ordenar comando de forma predeterminada, trate cada línea como una cadena y luego ordénela según la ocurrencia de alfabetos en el diccionario (se prefiere numérico; consulte la regla 1) hasta que se especifique lo contrario.

11. Cree un tercer archivo "lsla.txt" en la ubicación actual y rellénelo con la salida del comando "ls -lA".

$ ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt
$ cat lsla.txt

Aquellos que entienden el comando "ls" saben que "ls -lA" u003d "ls -l" + Archivos ocultos. Entonces, la mayor parte del contenido de estos dos archivos sería el mismo.

12. Ordene el contenido de dos archivos en la salida estándar de una sola vez.

$ sort lsl.txt lsla.txt

Observe la repetición de archivos y carpetas.

13. Ahora podemos ver cómo ordenar, fusionar y eliminar duplicados de estos dos archivos.

$ sort -u lsl.txt lsla.txt

Tenga en cuenta que se han omitido los duplicados de la salida. Además, puede escribir la salida en un archivo nuevo redirigiendo la salida a un archivo.

14. También podemos ordenar el contenido de un archivo o la salida en función de más de una columna. Ordene la salida del comando "ls -l" según el campo 2,5 (numérico) y 9 (no numérico).

$ ls -l /home/$USER | sort -t "," -nk2,5 -k9

Eso es todo por ahora. En el próximo artículo cubriremos algunos ejemplos más del comando "ordenar" en detalle para usted. Hasta entonces, estad atentos y conectados a Tecmint. Sigue compartiendo. Sigue comentando. Me gusta y comparte con nosotros y ayúdanos a difundir.

Lea también: 7 ejemplos interesantes de comandos de "ordenación" de Linux - Parte 2