Métodos para usar el comando Uniq en Linux con ejemplos

Si es un usuario de Linux y su trabajo implica trabajar y manipular archivos de texto y cadenas, entonces ya debería estar familiarizado con el comando uniq, ya que se usa más comúnmente en esa área.

Para aquellos que no están familiarizados con el comando uniq, es una herramienta de línea de comando que se utiliza para informar u omitir cadenas o líneas repetidas. Esto básicamente filtra las líneas coincidentes adyacentes de INPUT (o entrada estándar) y escribe en OUTPUT (o salida estándar). Sin opciones, las líneas coincidentes se fusionan con la primera aparición.

A continuación se muestran algunos ejemplos de uso del comando uniq

1) Omitir duplicados

La ejecución de los comandos uniq sin especificar ningún parámetro simplemente omite los duplicados y muestra una salida de cadena única.

fluser@fvm:~/Documents/files$cat file1
Hello
Hello
How are you?
How are you?
Thank you
Thank you
fluser@fvm:~/Documents/files$ uniq file1
Hello
How are you?
Thank you

2) Muestra el número de líneas repetidas

Con el parámetro -c, es posible ver el recuento de líneas duplicadas en un archivo

fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
How are you?
How are you?
Thank you
Thank you
fluser@fvm:~/Documents/files$ uniq -c file1
2 Hello
2 How are you?
2 Thank you

3) Imprime solo los duplicados

Al usar el parámetro -d, podemos seleccionar solo las líneas que se han duplicado dentro de un archivo

fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
Good morning
How are you?
How are you?
Thank you
Thank you
Bye
fluser@fvm:~/Documents/files$ uniq -d file1
Hello
How are you?
Thank you

4) Ignorar mayúsculas y minúsculas al comparar

Normalmente, cuando usa el comando uniq, tenga en cuenta el caso de las letras. Pero si desea ignorar el caso, puede usar el parámetro -i

fluser@fvm:~/Documents/files$ cat file1
Hello
hello
How are you?
How are you?
Thank you
thank you
fluser@fvm:~/Documents/files$ uniq file1
Hello
hello
How are you?
Thank you
thank you
fluser@fvm:~/Documents/files$ uniq -i file1
Hello
How are you?
Thank you

5) Imprima solo líneas únicas

Si solo desea ver las líneas únicas en un archivo, puede usar el parámetro -u

fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
Good morning
How are you?
How are you?
Thank you
Thank you
Bye
fluser@fvm:~/Documents/files$ uniq -u file1
Good morning
Bye

6) Ordenar y encontrar duplicados

A veces, las entradas duplicadas pueden contener archivos en diferentes lugares. En ese caso, si simplemente usamos el comando uniq, no detectará estas entradas duplicadas en diferentes líneas. En ese caso, primero necesitamos ordenar el archivo y luego podemos encontrar duplicados.

fluser@fvm:~/Documents/files$ cat file1
Adam
Sara
Frank
John
Ann
Matt
Harry
Ann
Frank
John
fluser@fvm:~/Documents/files$ sort file1 | uniq -c
1 Adam
2 Ann
2 Frank
1 Harry
2 John
1 Matt
1 Sara

7) Save la salida en otro archivo

La salida de nuestro comando uniq se puede guardar simplemente en otro archivo como se muestra a continuación

fluser@fvm:~/Documents/files$ cat file1
Hello
Hello
How are you?
Good morning
Good morning
Thank you
fluser@fvm:~/Documents/files$ uniq -u file1
How are you?
Thank you
fluser@fvm:~/Documents/files$ uniq -u file1 output
fluser@fvm:~/Documents/files$ cat output
How are you?
Thank you

8) Ignorar personajes

Para ignorar algunos caracteres al principio, puede usar el parámetro -s, pero debe especificar la cantidad de caracteres que debe ignorar

fluser@fvm:~/Documents/files$ cat file1
1apple
2apple
3pears
4banana
5banana
fluser@fvm:~/Documents/files$ uniq -s 1 file1
1apple
3pears
4banana

Si tiene alguna pregunta o pensamiento que compartir sobre este tema, utilice el formulario de comentarios

Leer también:

  • Cómo usar el comando Tr de Linux con ejemplos
  • Un breve resumen de 106 comandos de Linux con ejemplos