Linux comandos · 7 min read · Sep 19, 2025
Tutorial del comando Uniq de Linux para principiantes (10 ejemplos)
Si eres un usuario de la línea de comandos de Linux, y tu trabajo implica jugar con archivos de texto, deberías saber (si no lo sabes ya) que hay muchas utilidades de línea de comandos que pueden ser de gran ayuda en diferentes situaciones. Por ejemplo, existe una herramienta llamada ‘uniq’ que informa o incluso elimina líneas repetidas en un archivo.
En este artículo, discutiremos ‘uniq’ a través de ejemplos fáciles de entender. Pero antes de hacerlo, vale la pena mencionar que todos los ejemplos e instrucciones mencionados en este tutorial han sido probados en Ubuntu 16.04LTS.
Comando Uniq de Linux
Como ya se mencionó al principio, el comando uniq informa u omite líneas repetidas. Aquí está la sintaxis general de este comando:
uniq [OPCIÓN]… [ENTRADA [SALIDA]]
Según la página del manual de la utilidad: “Filtra líneas adyacentes coincidentes de ENTRADA (o entrada estándar), escribiendo en SALIDA (o salida estándar). Sin opciones, las líneas coincidentes se fusionan con la primera ocurrencia.”
A continuación se presentan algunos ejemplos que te ayudarán a entender mejor la herramienta.
1. Cómo eliminar líneas repetidas usando el comando uniq
Supongamos que el archivo contiene las siguientes líneas:
Claramente, cada línea está repetida. Ahora ejecutemos Uniq en este archivo y veamos qué sucede.
uniq file1Así que, como puedes ver, la salida que produjo el comando no contiene líneas repetidas. Ten en cuenta que el archivo original - ‘file1’ en nuestro caso - permanece sin cambios. Puedes redirigir la salida de la herramienta a otro archivo en caso de que quieras guardarlo y trabajar en él.
2. Cómo mostrar el número de repeticiones para cada línea
Si lo deseas, también puedes hacer que uniq muestre en la salida el número de veces que se repite una línea. Esto se puede hacer utilizando la opción de línea de comandos -c. Por ejemplo, el siguiente comando:
uniq -c file1produce la siguiente salida:
Así que, como puedes ver, el número de repeticiones para cada línea se antepone antes de ella en la salida.
3. Cómo imprimir solo líneas duplicadas usando uniq
Para hacer que uniq imprima solo líneas duplicadas, usa la opción de línea de comandos -D. Por ejemplo, supongamos que file1 ahora contiene una línea extra en la parte inferior (ten en cuenta que esta línea no está repetida).
Ahora, cuando ejecute el siguiente comando:
uniq -D file1Se produce la siguiente salida:
Como puedes ver, la opción -D hace que uniq muestre todas las líneas repetidas en la salida, incluidas todas sus repeticiones. Para mejor segregación, puedes tener una línea vacía después de cada grupo de líneas repetidas, algo que se puede hacer utilizando la opción –all-repeated.
uniq –all-repeated[=MÉTODO] file1
Esta opción requiere que el usuario ingrese un nombre de método. Los valores podrían ser prepend (para anteponer una línea vacía) o separate (para agregar una línea vacía). Por ejemplo, aquí está esta opción en acción con el método prepend.

Siguiendo adelante, si deseas que la herramienta muestre solo una línea duplicada por grupo, entonces puedes optar por la opción -d. Aquí hay un ejemplo de eso:
Claramente, solo se mostró una línea repetida de cada grupo en la salida.
4. Cómo hacer que uniq evite comparar los primeros campos
A veces, dependiendo de la situación, la similitud de dos líneas se define por una pequeña parte de esas líneas. Por ejemplo, considera el contenido del siguiente archivo:
Ahora, supongamos que las líneas se consideran similares o diferentes según su segundo campo (HTF o FF), y deseas transmitir esto a uniq, entonces esto se puede hacer utilizando la opción de línea de comandos -f.
uniq -f [número-de-campos-a-saltar] [nombre-del-archivo]La opción -f requiere que pases un número que representa la cantidad de campos que deseas que el comando salte. Por ejemplo, en nuestro caso, podemos pasar ‘1’ como argumento a -f ya que es solo el primer campo que queremos que uniq salte.
uniq -f 1 file1La salida muestra claramente que uniq consideró tanto la primera como la tercera línea como repetidas basándose en sus respectivos segundos campos.
5. Cómo hacer que uniq muestre todas las líneas, separando grupos repetitivos con una línea vacía
En caso de que el requisito sea mostrar todas las líneas, mientras se separan los grupos repetitivos de líneas con una línea vacía, entonces puedes usar la opción –group. Al igual que la opción –all-repeated que discutimos anteriormente, –group también requiere que indiques la posición de la línea vacía (prepend, append o both).
Aquí hay un ejemplo:

Ten en cuenta que la opción -f que ya hemos discutido en la sección anterior.
6. Cómo hacer que uniq imprima solo líneas no repetitivas
Como ya habrás entendido hasta ahora, por defecto el comando uniq solo muestra líneas repetidas en la salida. Pero si lo deseas, puedes hacer que muestre solo líneas no repetidas o únicas. Esto se puede hacer utilizando la opción de línea de comandos -u.
uniq -u [nombre-del-archivo]Así que, en nuestro caso:
uniq -u file1
Aquí hay un ejemplo:
Ten en cuenta que la opción -f que ya hemos discutido en la sección/punto número 4.
7. Cómo hacer que uniq evite comparar un número establecido de caracteres iniciales
En uno de nuestros ejemplos anteriores, discutimos cómo puedes hacer que uniq salte campos. Sin embargo, si lo deseas, también puedes forzar a la herramienta a saltar un número establecido de caracteres iniciales. Esta función se puede acceder utilizando la opción de línea de comandos -s.
uniq -s [número-de-caracteres] nombre-del-archivo
Por ejemplo, supongamos que el archivo contiene las siguientes líneas:
Ahora, si deseas que uniq salte los primeros 4 caracteres en cada línea antes de comparar, entonces esto se puede hacer de la siguiente manera:
uniq -s 4 file1
Aquí está el comando anterior en acción:
Así que puedes ver que la cuarta línea (faq_forge) que estaba originalmente allí ha sido omitida en la salida. Esto se debe a que después de saltar los primeros cuatro caracteres, la tercera y la cuarta línea eran iguales, y por lo tanto consideradas repetidas por uniq.
8. Cómo limitar la comparación a un número establecido de caracteres
De manera similar a como saltas caracteres, también puedes pedir a uniq que limite la comparación a un número establecido de caracteres. Para esto, tendrás que usar la opción de línea de comandos -w.
uniq -w [número-de-caracteres] [nombre-del-archivo]
Por ejemplo, supongamos que el archivo contiene las siguientes líneas:
Ahora, si el requisito es limitar la comparación a los primeros 3 caracteres, entonces esto se puede hacer de la siguiente manera:
uniq -w 3 file1
Aquí está el comando anterior en acción:
Dado que los primeros 3 caracteres de la tercera y cuarta línea son iguales, estas líneas fueron consideradas como repetidas. Por lo tanto, solo se muestra la tercera en la salida.
9. Cómo hacer que la comparación de uniq no distinga entre mayúsculas y minúsculas
Por defecto, la comparación que realiza uniq es sensible a mayúsculas y minúsculas. Sin embargo, puedes hacer que el proceso no distinga entre mayúsculas y minúsculas utilizando la opción de línea de comandos -i.
Por ejemplo, considera el mismo caso que discutimos en la sección anterior, solo que la cuarta línea comienza con una H, O y W mayúsculas.
Ahora, si intentas ejecutar el mismo comando que usamos en la sección anterior, verás que la salida es diferente:
Eso es porque los primeros tres caracteres de la tercera y la cuarta línea son diferentes para uniq debido a su caso. En situaciones como estas, puedes hacer que la comparación no distinga entre mayúsculas y minúsculas utilizando la opción -i.
10. Cómo hacer que la salida de uniq termine en NUL
Por defecto, la salida que produce uniq está terminada en nueva línea. Sin embargo, si lo deseas, puedes tener una salida terminada en NUL en su lugar (útil al tratar con uniq en scripts). Esto se puede lograr utilizando la opción de línea de comandos -z.
uniq -z [nombre-del-archivo]
Conclusión
Hemos cubierto prácticamente todas las opciones de línea de comandos que ofrece el comando uniq, así que solo practica lo que hemos discutido aquí, y deberías tener una idea sólida de cómo funciona uniq y qué características proporciona. Como siempre, en caso de cualquier consulta o duda, consulta primero la página del manual del comando.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.