
Si es un usuario de Linux y su trabajo consiste en 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 usa para informar u omitir cadenas o líneas repetidas. Básicamente, esto 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 del uso del comando uniq
1) Omitir duplicados
Ejecutar 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 número 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, tiene 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) Solo imprime 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 en diferentes lugares de un archivo. En ese caso, si simplemente usamos el comando uniq, no detectará estas entradas duplicadas en diferentes líneas. En ese caso, primero debemos 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) Guardar 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 caracteres
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 preguntas o ideas para 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