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 tener en cuenta que el comando sort no clasifica los archivos en realidad, sino que 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 ( <strong>tecmint.txt</strong> ) para ejecutar ejemplos de comandos ‘ ordenar ‘. Nuestro directorio de trabajo es ‘ / home / $ USER / Desktop / tecmint .
La opción ‘ -e ‘ en el siguiente comando habilita la interpretación de la barra invertida y / n le dice a echo que escriba cada cadena en una nueva línea.
$ echo -e "computernmousenLAPTOPndatanRedHatnlaptopndebiannlaptop" > 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 personal.
$ 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 el contenido numéricamente. La opción ‘ -n ‘ debe usarse cuando queremos ordenar un archivo en base a una columna que contiene valores numéricos.
8. Ordene el contenido del archivo ‘ lsl.txt ‘ <strong>basándose</strong> 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):
- Las líneas que comienzan con números son las preferidas en la lista y se encuentran en la parte superior hasta que se especifique lo contrario ( -r ).
- Las líneas que comienzan con letras minúsculas son las preferidas en la lista y se encuentran en la parte superior hasta que se especifique lo contrario ( -r ).
- Los contenidos se enumeran sobre la base de la aparición de alfabetos en el diccionario hasta que se especifique lo contrario ( -r ).
- Ordenar orden por defecto trata cada línea como una cadena y luego ordénala dependiendo de la ocurrencia de alfabetos en el diccionario (se prefiere Numérico ver 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 <strong>comando</strong> ‘ <strong>ls -lA</strong> ‘.
$ ls -lA /home/$USER > /home/$USER/Desktop/tecmint/lsla.txt $ cat lsla.txt
Aquellos que entienden el comando ‘ <strong>ls</strong> ‘ saben que ‘ ls -lA’ = ‘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 ‘ <strong>ls -l</strong> ‘ 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 ‘sort’ de Linux – Parte 2
Comandos de Linux