Inicio > Procesamiento y búsqueda de texto > sort

sort -u: Ordenar y eliminar duplicados

El comando sort -u ordena el contenido de un archivo de texto o la entrada estándar y elimina las líneas duplicadas, mostrando solo las líneas únicas. Es muy útil para eliminar duplicados y limpiar listas de datos.

Resumen

sort -u ordena los datos de entrada en orden ascendente y, al mismo tiempo, elimina todas las líneas duplicadas, dejando solo una copia de cada línea única. Esto es útil en diversas situaciones como el análisis de archivos de registro, la generación de listas de elementos únicos y la limpieza de datos.

Características principales

  • Ordena los datos y elimina automáticamente las líneas duplicadas.
  • Puede interactuar con la salida de otros comandos a través de tuberías (|).
  • Soporta varios criterios de ordenación como números y campos específicos.
  • Eficiencia en el manejo de archivos grandes.

Opciones principales

Se presentan las opciones más utilizadas con -u o que complementan la funcionalidad de sort -u.

Eliminación de duplicados y comportamiento básico

Criterios de ordenación

Salida y otros

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

Aprenda a usar el comando sort -u con varios ejemplos prácticos.

Ordenar y eliminar duplicados del contenido de un archivo

sort -u file.txt

Ordena el contenido de file.txt, elimina las líneas duplicadas y lo muestra en la salida estándar.

Procesar entrada a través de tuberías

cat file.txt | sort -u

Recibe la salida de otro comando, la ordena y elimina duplicados. Por ejemplo, pasando el contenido de un archivo con el comando `cat`.

Ordenar y eliminar duplicados por número

sort -nu numbers.txt

Interpreta los números del archivo numbers.txt como valores numéricos para ordenarlos y eliminar duplicados.

Ordenar y eliminar duplicados por campo específico

sort -t',' -uk2 data.csv

Ordena y elimina duplicados basándose en el segundo campo de un archivo data.csv delimitado por comas (,).

Guardar el resultado en un nuevo archivo

sort -u input.txt -o output.txt

Guarda el resultado ordenado y sin duplicados en el archivo output.txt.

Consejos y precauciones

Ofrece consejos útiles y precauciones al usar el comando sort -u.

Diferencia entre sort -u y uniq

  • sort -u: Ordena toda la entrada y luego elimina duplicados. Por lo tanto, elimina todos los duplicados sin importar su posición en el archivo.
  • uniq: Elimina solo los duplicados de líneas adyacentes. Para usar `uniq`, primero debes ordenar los datos con el comando `sort`. `sort -u` es una forma conveniente de realizar ambos procesos a la vez.

Distinción entre mayúsculas y minúsculas

  • Comportamiento predeterminado: Por defecto, sort -u distingue entre mayúsculas y minúsculas, tratando 'Apple' y 'apple' como líneas diferentes.
  • Ignorar mayúsculas/minúsculas: Para ignorar la distinción entre mayúsculas y minúsculas y eliminar duplicados, usa la opción `-f` (fold-case) junto con el comando. Ej: `sort -uf file.txt`

Rendimiento en el manejo de archivos grandes

  • Uso de memoria: Al procesar archivos grandes, sort puede consumir mucha memoria del sistema. Puedes ajustar el rendimiento especificando el tamaño del búfer de memoria con la opción `-S`. (Ej: `-S 50%` usa el 50% de la memoria disponible).
  • Archivos temporales: Si la memoria es insuficiente, sort crea archivos temporales. Puedes especificar el directorio para guardar los archivos temporales con la opción `-T`. (Ej: `-T /tmp`).

Comandos de la misma categoría