«UNIQ»: El Comando de Linux para Limpiar Líneas Duplicadas

Cada herramienta en el mundo de Linux tiene su propósito especial, y aunque algunas puedan parecer sencillas, esconden un poder impresionante que facilita nuestra vida tecnológica. Una de estas herramientas es el comando uniq, destinado a eliminar líneas duplicadas. En este artículo, sumergiremos en las aguas de este comando, desde sus conceptos básicos hasta trucos avanzados, enfocándonos principalmente en las distribuciones Ubuntu y Debian.

Introducción y Uso Básico de «UNIQ»

Comencemos con una comprensión básica de uniq y cómo integrarlo en nuestra rutina diaria.

¿Qué es «UNIQ»?

uniq es un comando que, como su nombre sugiere, nos permite obtener líneas únicas de un archivo o entrada dada. Elimina líneas consecutivas duplicadas, dejando solo una de ellas.

Primeros Pasos con «UNIQ»

Imaginemos que tenemos un archivo nombres.txt con el siguiente contenido:

Ana
Carlos
Carlos
Diego
Diego
Diego
Eva

Si ejecutamos:

uniq nombres.txt

El resultado sería:

Ana
Carlos
Diego
Eva

Es importante notar que uniq solo elimina duplicados consecutivos. Esto significa que si el mismo nombre aparece más adelante en la lista y no está consecutivo, uniq no lo eliminará.

Opciones Avanzadas de «UNIQ»

Ahora que comprendemos el funcionamiento básico de uniq, es hora de explorar algunas de sus opciones más avanzadas que amplían su funcionalidad.

Contar Duplicados

Con la opción -c, uniq puede indicar cuántas veces aparece cada línea:

uniq -c nombres.txt

Esto produciría:

1 Ana
2 Carlos
3 Diego
1 Eva

Mostrar Solo Líneas Duplicadas o Únicas

Para mostrar solo las líneas que se duplican, podemos usar la opción -d. Si, por otro lado, deseamos ver solo las líneas que no tienen duplicados, la opción -u es nuestra amiga.

«UNIQ» en Concierto: Combinaciones Poderosas

El potencial real de uniq se manifiesta cuando lo combinamos con otras herramientas de Linux.

«UNIQ» y «SORT»

Como mencionamos antes, uniq trabaja sobre líneas duplicadas consecutivas. Para eliminar todas las duplicadas sin importar su posición, a menudo se combina uniq con sort:

sort nombres.txt | uniq

Esta combinación asegura que todos los duplicados, independientemente de su posición, se eliminen.

Usos Creativos con «AWK» y «SED»

uniq también puede trabajar junto con otras herramientas poderosas como awk y sed para realizar tareas de procesamiento de texto aún más complejas, como formatear la salida o filtrar contenido específico.