Saltar al contenido
MundoCursos

Comando Sort Linux: Ordena líneas de archivos de texto en Linux

comando sort linux

El comando sort en Linux es una herramienta útil para ordenar líneas de archivos de texto de diferentes formas.

Puede ordenar alfabéticamente, en orden inverso, por número, entre otros criterios.

También ofrece opciones para ignorar la distinción entre mayúsculas y minúsculas, comprobar si un archivo está ordenado y eliminar duplicados. Además, puede ordenar por meses, por elementos que no están al inicio de la línea, e incluso archivos CSV. A continuación, se presentan ejemplos de uso del comando sort en Linux. También se proporcionan recursos adicionales y comandos relacionados.

Comando sort Linux: concepto y funcionalidades

El comando sort en Linux es una herramienta muy útil para ordenar líneas de texto en archivos de diversas formas. A continuación, se detallan algunas de las funcionalidades más destacadas de este comando.

Ordenación alfabética de líneas de texto

Una de las funcionalidades básicas del comando sort es la capacidad de ordenar alfabéticamente las líneas de un archivo de texto. Esto se logra ejecutando el comando y proporcionando el nombre del archivo como argumento. De esta manera, el contenido del archivo se escribirá en orden alfabético en la salida estándar.

Orden inverso en el comando sort

El comando sort también permite ordenar las líneas de texto en orden inverso. Esto se logra utilizando la opción -r al ejecutar el comando. Al utilizar esta opción, las líneas de texto se mostrarán en orden descendente en la salida estándar.

Orden numérico en el comando sort

Además de ordenar alfabéticamente, el comando sort puede ordenar las líneas de texto por sus valores numéricos. Para ello, se utiliza la opción -n al ejecutar el comando. Esto es especialmente útil cuando se necesita ordenar números contenidos en un archivo de texto.

Ignorar distinción entre mayúsculas y minúsculas

El comando sort permite ordenar las líneas de texto sin tener en cuenta la distinción entre mayúsculas y minúsculas. Para lograr esto, se utiliza la opción -f al ejecutar el comando. De esta manera, las líneas de texto con caracteres en mayúsculas y minúsculas se considerarán iguales en el proceso de ordenación.

Comprobar si un archivo está ordenado

El comando sort también proporciona la opción -c, que permite verificar si un archivo dado ya está ordenado. Al ejecutar el comando con esta opción, se mostrará un mensaje indicando si el archivo está ordenado o no. Esto puede ser útil para verificar la coherencia de los datos en un archivo antes de aplicar cualquier operación de ordenación.

Ordenar y eliminar duplicados

Mediante el uso de la opción -u, el comando sort puede ordenar las líneas de texto y eliminar duplicados en un solo paso. Esto es especialmente útil para tener una lista de elementos sin repeticiones y en orden. Al ejecutar el comando con esta opción, solo se mostrará una ocurrencia de cada línea de texto y se eliminarán las duplicadas.

Ordenar por meses usando el comando sort

El comando sort también ofrece la opción -M para ordenar las líneas de texto según los meses del año. Esta opción es útil cuando se tienen datos relacionados con fechas y se desea ordenarlos cronológicamente. Al utilizar la opción -M, el comando sort interpretará las líneas de texto como fechas y las ordenará en función de los meses.

Ordenar por elementos no al inicio de la línea

El comando sort permite ordenar las líneas de texto teniendo en cuenta elementos que no están al inicio de cada línea. Para ello, se utiliza la opción -k seguida de un número para especificar el campo que se utilizará como clave de ordenación. Con esta funcionalidad, es posible ordenar líneas de texto por elementos específicos que no necesariamente están en la posición inicial.

Ordenar archivos CSV usando el comando sort

El comando sort también es capaz de ordenar archivos CSV (Comma-Separated Values). Esta opción es especialmente útil cuando se tienen datos tabulares en un archivo CSV y se desea ordenarlos según una columna específica. Para utilizar esta funcionalidad, se utiliza la opción -t seguida del delimitador de campo deseado, y luego la opción -k seguida del número de columna por la cual se desea ordenar.

Ejemplos de uso del comando sort en Linux

El comando sort en Linux ofrece diversas opciones para ordenar líneas de archivos de texto.

A continuación, se presentan algunos ejemplos prácticos de uso.

comando sort linux

Ordenar por cantidad de líneas

Una de las funcionalidades más comunes es ordenar un archivo de texto por la cantidad de líneas. Esto se logra utilizando la opción -n junto con el comando sort.

Por ejemplo, si tenemos un archivo llamado «datos.txt» con las siguientes líneas:

Juan
María
Carlos
Ana

Al ejecutar el siguiente comando:

sort -n datos.txt

La salida sería:

Ana
Carlos
María
Juan
¿Te gustaría aumentar tus conocimientos en Linux?

Está claro que ser autodidacta es una de las mejores cualidades que podría tener cualquier programador.

Sin embargo, si quieres acelerar al máximo tu aprendizaje, te recomendamos que veas esta lista con los mejores cursos para aprender Linux desde cero. Los hemos seleccionado y analizado minuciosamente para ayudarte a elegir el ideal.

Ordenar por nombre de archivo de forma inversa

Es posible ordenar una lista de nombres de archivo en forma inversa utilizando la opción -k junto con la opción -r.

Supongamos que tenemos los siguientes archivos en un directorio:

archivo1.txt
archivo2.txt
archivo3.txt

Si ejecutamos el siguiente comando:

ls | sort -k 1,1 -r

Obtendremos la siguiente salida:

archivo3.txt
archivo2.txt
archivo1.txt

Ordenar un listado con diferentes magnitudes

El comando sort también puede ordenar un listado con diferentes magnitudes, como tamaños de archivos expresados en bytes, kilobytes o megabytes.

Supongamos que tenemos un archivo llamado «listado.txt» con la siguiente lista de archivos y sus respectivos tamaños:

archivo1.txt    100MB
archivo2.txt    2KB
archivo3.txt    1GB

Para ordenar este listado por tamaño de archivo, ejecutaríamos el siguiente comando:

sort -k 2,2h listado.txt

La salida sería:

archivo2.txt    2KB
archivo1.txt    100MB
archivo3.txt    1GB

Estos son solo algunos ejemplos de uso del comando sort en Linux. Su versatilidad y variedad de opciones permiten adaptarse a diferentes necesidades de ordenación en archivos de texto.