Inicio > Procesamiento y búsqueda de texto > sort

Guía del comando sort: Ordenar archivos de texto

El comando `sort` se utiliza para ordenar líneas de archivos de texto o datos recibidos de la entrada estándar. Permite ordenar los datos según diversos criterios, como orden alfabético, numérico o inverso, siendo muy útil en el análisis de archivos de registro, preparación de datos y generación de informes. A través de esta guía, aprenderás el uso básico del comando `sort` y sus diversas opciones de ordenación.

Descripción general de sort

El comando `sort` ordena cada línea comparándola en su totalidad y enviando el resultado a la salida estándar en orden ASCII (alfabético). El archivo original no se modifica, y para guardar los cambios en un archivo, se debe usar la redirección (`>`).

Funciones principales de sort

El comando `sort` se utiliza principalmente con los siguientes propósitos:

Principales áreas de uso

  • Ordenación de datos: Ordena archivos de registro, listas de datos, listas de usuarios, etc., según criterios específicos para mejorar la legibilidad.
  • Eliminación de duplicados: Permite eliminar fácilmente líneas duplicadas basándose en datos ordenados. (Usado junto con `uniq`)
  • Generación de informes: Organiza los datos en un formato más fácil de analizar, ordenándolos según campos específicos.
  • Comparación de archivos: Puede utilizarse para normalizar el contenido de dos archivos antes de compararlos.

Principios básicos del método de ordenación

El comando `sort` compara los valores comenzando desde el primer carácter de cada línea, basándose en el valor del código de carácter (valor ASCII). Para los números, se tratan como cadenas, lo que puede resultar en resultados inesperados, como que '10' aparezca antes que '2'. Para evitar esto, se deben utilizar las opciones de ordenación numérica.

Principales opciones del comando sort

El comando `sort` ofrece diversas opciones que permiten controlar minuciosamente los criterios de ordenación, el orden y el tratamiento de duplicados.

1. Criterios y orden de ordenación

2. Opciones de tratamiento de duplicados y espacios en blanco

3. Opciones de salida y delimitadores

Comando generado:

Combina los comandos.

Descripción:

`sort` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Aprende a ordenar y analizar datos de texto de manera eficiente a través de diversos ejemplos de uso del comando `sort`.

Ordenación básica del contenido de un archivo

echo -e "Charlie\nAlice\nBob" > names.txt
sort names.txt

Ordena las líneas del archivo `names.txt` en orden alfabético (ascendente) y las imprime.

Ordenación inversa del contenido de un archivo

echo -e "10\n2\n100" > numbers.txt
sort -r numbers.txt

Ordena los números del archivo `numbers.txt` tratándolos como cadenas en orden inverso.

Ordenación basada en valores numéricos

echo -e "20 Bob\n10 Alice\n100 Charlie" > scores.txt
sort -n scores.txt

Ordena las puntuaciones del archivo `scores.txt` (primer campo) en orden ascendente basado en valores numéricos reales.

Ordenación basada en la segunda columna (nombre) de un archivo CSV

echo -e "1,Bob,Seoul\n3,Alice,Busan\n2,Charlie,Jeju" > users.csv
sort -t',' -k 2 users.csv

Ordena el archivo `users.csv` separado por comas (`,`) según el segundo campo (nombre).

Eliminar líneas duplicadas después de ordenar

echo -e "apple\nbanana\napple\ncherry" > duplicates.txt
sort -u duplicates.txt

Ordena el contenido del archivo `duplicates.txt` y elimina líneas duplicadas, manteniendo solo una.

Guardar el resultado de la ordenación en un nuevo archivo

echo -e "Zebra\nCat\nDog" > unsorted.txt
sort unsorted.txt -o sorted.txt

Ordena el contenido del archivo `unsorted.txt` y guarda el resultado en el archivo `sorted.txt`. El archivo original no se modifica.

Ordenación considerando tamaños legibles para humanos

echo -e "10K file1\n2M file2\n500K file3\n1G file4" > sizes.txt
sort -h sizes.txt

Ordena una lista de tamaños de archivos considerando unidades legibles para humanos (K, M, G). Es útil al ordenar resultados como los de `du -h`.


Comandos de la misma categoría