GNU/Linux >> Tutoriales Linux >  >> Linux

7 ejemplos de comandos Linux Uniq para eliminar líneas duplicadas del archivo

El comando Uniq es útil para eliminar o detectar entradas duplicadas en un archivo. Este tutorial explica algunas de las opciones de línea de comandos de uniq más utilizadas que pueden resultarle útiles.

El siguiente archivo de prueba se usa en algunos de los ejemplos para comprender cómo funciona el comando uniq.

$ cat test
aa
aa
bb
bb
bb
xx

1. Uso básico

Sintaxis:

$ uniq [-options]

Por ejemplo, cuando se ejecuta el comando uniq sin ninguna opción, elimina las líneas duplicadas y muestra líneas únicas como se muestra a continuación.

$ uniq test
aa
bb
xx

2. Cuente el número de ocurrencias usando la opción -c

Esta opción es para contar la aparición de líneas en el archivo.

$ uniq -c test
      2 aa
      3 bb
      1 xx

3. Imprima solo líneas duplicadas usando la opción -d

Esta opción es para imprimir solo líneas repetidas duplicadas en el archivo. Como puede ver a continuación, esto no mostró la línea "xx", ya que no está duplicada en el archivo de prueba.

$ uniq -d test
aa
bb

El ejemplo anterior muestra todas las líneas duplicadas, pero solo una vez. Pero, esta opción -D imprimirá todas las líneas duplicadas en el archivo. Por ejemplo, la línea "aa" estaba allí dos veces en el archivo de prueba, por lo que el siguiente comando uniq mostraba la línea "aa" dos veces en esta salida.

$ uniq -D test
aa
aa
bb
bb
bb

4. Imprima solo Líneas Únicas usando la opción -u

Esta opción es para imprimir solo líneas únicas en el archivo.

$ uniq -u test
xx

Si desea eliminar líneas duplicadas de un archivo usando cierto patrón, puede usar el comando sed delete.

5. Limite la comparación a caracteres 'N' usando la opción -w

Esta opción restringe la comparación solo a los primeros caracteres 'N' especificados. Para este ejemplo, use el siguiente archivo de entrada test2.

$ cat test2
hi Linux
hi LinuxU
hi LinuxUnix
hi Unix

El siguiente comando uniq usando la opción 'w' compara los primeros 8 caracteres de las líneas en el archivo, y luego usando la opción 'c' imprime el número de ocurrencias de las líneas del archivo.

$ uniq -c -w 8 testNew
  3 hi Linux
  1 hi Unix

El siguiente comando uniq usando la opción 'w' compara los primeros 8 caracteres de las líneas en el archivo, y luego usando la opción 'D' imprime todas las líneas duplicadas del archivo.

$ uniq -D -w 8 testNew
hi Linux
hi LinuxU
hi LinuxUnix

6. Evite comparar los primeros caracteres 'N' usando la opción -s

Esta opción omite la comparación de los primeros caracteres 'N' especificados. Para este ejemplo, use el siguiente archivo de entrada test3.

$ cat test3
aabb
xxbb
bbc
bbd

El siguiente comando uniq que usa la opción 's' omite la comparación de los primeros 2 caracteres de las líneas en el archivo, y luego usa la opción 'D' para imprimir todas las líneas duplicadas del archivo.

Aquí, los 2 caracteres iniciales, es decir, 'aa' en la primera línea y 'xx' en la 2.ª línea no se compararían y luego los siguientes 2 caracteres 'bb' en ambas líneas son iguales, por lo que se mostrarán como líneas duplicadas.

$ uniq -D -s 2 test3
aabb
xxbb

7. Evite comparar los primeros campos 'N' usando la opción -f

Esta opción omite la comparación de los primeros campos 'N' especificados de líneas en el archivo.

$ cat test2
hi hello Linux
hi friend Linux
hi hello LinuxUnix

El siguiente comando uniq usando la opción 'f' omite la comparación de los primeros 2 campos de líneas en el archivo, y luego usando la opción 'D' imprime todas las líneas duplicadas del archivo.

Aquí, los 2 campos iniciales, es decir, "hola, hola" en la primera línea y "hola amigo" en la segunda línea no se compararían y luego el siguiente campo "Linux" en ambas líneas es el mismo, por lo que se mostrará como líneas duplicadas.

$ uniq -D -f 2 test2
hi hello Linux
hi friend Linux

Linux
  1. Ejemplos de comandos de cola de Linux

  2. Comando wc de linux

  3. Ejemplos de comandos ln en Linux

  4. Ejemplos de comandos de archivo en Linux

  5. Cómo eliminar palabras duplicadas de un archivo de texto sin formato usando el comando de Linux

Comando WC de Linux con ejemplos

Ejemplos de comandos cat de Linux

Ejemplos de comandos gzip de Linux

Ejemplos de comandos dumpe2fs en Linux

Ejemplos de comandos fsck en Linux

Ejemplos de comandos mkfs en Linux