Cómo usar el Comando UNIQ en Linux

Lazy Placeholder

En Linux, trabajar con archivos de texto es una tarea muy habitual. A diario manipulamos logs, listas, configuraciones o datos que muchas veces contienen líneas duplicadas.

Buscar información en estos archivos puede volverse incómodo cuando existen entradas repetidas.. Linux, incluye el comando uniq, una herramienta muy útil para filtrar o eliminar líneas duplicadas de un archivo.

Además de eliminar duplicados, uniq también permite:

  • Contar cuántas veces se repite una línea
  • Mostrar únicamente líneas duplicadas
  • Mostrar únicamente líneas únicas

⚠️ NOTA: Uniq solo detecta duplicados cuando aparecen en líneas consecutivas (adyacentes).

En esta guía práctica aprenderás cómo usar el comando uniq con ejemplos claros paso a paso.

Sintaxis básica del comando uniq

La sintaxis del comando uniq es bastante sencilla y similar a la de muchos comandos de Linux.

uniq [OPCIONES] [ENTRADA] [SALIDA]

Donde:

  • OPCIONES >>> modifican el comportamiento del comando
  • ENTRADA >>> archivo de texto de origen
  • SALIDA >>> archivo donde se guardará el resultado

Todos estos parámetros son opcionales.

Primero, podemos crear un archivo simple de ejemplo. Así, vamos a poder entender mejor cómo funciona uniq, por ejemplo creamos el archivo "linux-distribuciones" con vi.

vi linux-distribuciones.txt

Añade contenido con algunas líneas duplicadas, por ejemplo:

Ubuntu
Ubuntu
Debian
Debian
Fedora
CentOS
CENTOS
Alpine

Luego podemos ver el contenido del archivo con:

cat linux-distribuciones.txt

¿Cómo usar el comando UNIQ y extraer su potencial?

Este archivo será el que usaremos para todos los ejemplos del tutorial.

1. ¿Cómo eliminar líneas duplicadas de un archivo?

Uno de los usos más comunes del comando uniq es eliminar líneas duplicadas consecutivas de un archivo de texto.

uniq linux-distribuciones.txt

El resultado mostrará únicamente una línea por cada grupo repetido. Por ejemplo:

Ubuntu
Debian
Fedora
CentOS
CENTOS
Alpine

Como puedes ver, las líneas repetidas consecutivas han sido eliminadas.

2. ¿Cómo contar cuántas veces se repite cada línea?

En algunos casos no solo queremos eliminar duplicados, sino saber cuántas veces aparece cada línea.

Para hacerlo, utiliza la opción -c.

uniq -c linux-distribuciones.txt

Salida de ejemplo:

2 Ubuntu
2 Debian
1 Fedora
1 CentOS
1 CENTOS
1 Alpine

La primera columna muestra el número de repeticiones de cada línea.

3. ¿Cómo ignorar mayúsculas y minúsculas?

Por defecto, uniq distingue entre mayúsculas y minúsculas. Por ejemplo:

  • Ubuntu
  • UBUNTU

Se consideran valores distintos. Si quieres ignorar esta diferencia, utiliza la opción -i.

uniq -i linux-distribuciones.txt

Ahora Ubuntu y UBUNTU serán tratados como la misma cadena. Lo mismo ocurrirá con CentOS y CENTOS.

4. ¿Cómo mostrar solo las líneas duplicadas?

Si solo quieres ver las líneas que están repetidas en el archivo, puedes usar la opción -d.

uniq -d linux-distribuciones.txt

El resultado mostrará una línea por cada grupo duplicado. Por ejemplo:

Ubuntu
Debian

5. ¿Cómo mostrar todas las líneas duplicadas?

En el ejemplo anterior solo se muestra una línea por grupo duplicado. Si quieres ver todas las líneas duplicadas, usa la opción -D.

uniq -D linux-distribuciones.txt

Esto mostrará todas las repeticiones existentes en el archivo.

Las líneas que solo aparecen una vez (como Alpine o Fedora) no se mostrarán.

6. ¿Cómo mostrar duplicados agrupados y separados por líneas?

Cuando existen muchos duplicados, puede resultar útil separar cada grupo con una línea en blanco para mejorar la legibilidad.

Puedes hacerlo con la opción:

uniq --all-repeated=separate linux-distribuciones.txt

El resultado separará cada grupo de duplicados con una línea vacía, facilitando la lectura del resultado.

7. ¿Cómo mostrar solo las líneas únicas?

También es posible mostrar solo las líneas que no están duplicadas. Para ello utiliza la opción -u.

uniq -u linux-distribuciones.txt

El resultado incluirá únicamente las líneas que aparecen una sola vez. Por ejemplo:

Fedora
CENTOS
Alpine

8. ¿Cómo eliminar duplicados no consecutivos?

Una limitación importante del comando uniq es que solo detecta duplicados cuando están juntos.

Si los duplicados aparecen en diferentes partes del archivo, primero debemos ordenar el contenido con el comando sort.

Después podemos combinar ambos comandos:

sort linux-distribuciones.txt | uniq

Este comando:

  • Ordena el archivo
  • Agrupa las líneas iguales
  • Elimina duplicados con uniq

De esta forma podemos eliminar duplicados aunque no estén juntos originalmente.


Consejos útiles al usar uniq

Para trabajar mejor con uniq, ten en cuenta estos consejos:

  • uniq funciona mejor con archivos previamente ordenados
  • Puedes combinarlo con comandos como sort, grep o cat
  • Es muy útil para analizar logs del sistema o listas de datos
  • Se usa frecuentemente en scripts de automatización

Conclusión

El comando uniq es una herramienta sencilla pero muy poderosa para procesar archivos de texto en Linux.

Con él puedes:

  • eliminar líneas duplicadas
  • contar repeticiones
  • mostrar solo duplicados
  • mostrar solo líneas únicas

Combinado con comandos como sort, se convierte en una solución muy eficiente para limpiar y analizar datos en archivos de texto dentro de Linux.

Si usas con frecuencia la terminal, dominar uniq te ayudará a procesar información mucho más rápido y de forma más eficiente.