English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。
uniq 可检查文本文件中重复出现的行列。
uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--ayuda][--versión][文件输入][输出文件]
参数:
-co--count 在每列旁边显示该行重复出现的次数。
-do--repetido 仅显示重复出现的行列。
-f<栏位>o--skip-fields=<栏位> 忽略比较指定的栏位。
-s<字符位置>o--skip-chars=<字符位置> 忽略比较指定的字符。
-uo--único 仅显示出一次的行列。
-w<字符位置>o--check-chars=<字符位置> 指定要比较的字符。
--ayuda 显示帮助。
--versión 显示版本信息。
[文件输入] 指定已排序好的文本文件。如果不指定此项,则从标准输入读取数据;
[Archivo de salida] Especificar el archivo de salida. Si no se especifica esta opción, se mostrará el contenido en el dispositivo de salida estándar (-terminal).
El archivo testfile en la línea 2、3、5、6、7、9Para eliminar las líneas repetidas de líneas iguales, utilice el siguiente comando:
uniq testfile
El contenido original de testfile es:
$ cat testfile #Contenido original test 30 test 30 test 30 Hola 95 Hola 95 Hola 95 Hola 95 Linux 85 Linux 85
Después de eliminar las líneas repetidas con el comando uniq, se obtiene el siguiente resultado:
$ uniq testfile #Contenido después de eliminar las líneas repetidas test 30 Hola 95 Linux 85
Verificar el archivo y eliminar las líneas repetidas en el archivo, mostrando el número de veces que cada línea se repite en la cabeza de la línea. Utilice el siguiente comando:
uniq -c testfile
El resultado se muestra a continuación:
$ uniq -c testfile #Contenido después de eliminar las líneas repetidas 3 test 30 #El número anterior significa que la línea apareció3Veces 4 Hola 95 #El número anterior significa que la línea apareció4Veces 2 Linux 85 #El número anterior significa que la línea apareció2Veces
Cuando las líneas repetidas no están adyacentes, el comando uniq no es efectivo, es decir, si el contenido del archivo es el siguiente, el comando uniq no es efectivo:
$ cat testfile1 # Contenido original test 30 Hola 95 Linux 85 test 30 Hola 95 Linux 85 test 30 Hola 95 Linux 85
En este caso, podemos usar sort:
$ sort testfile1 | uniq Hola 95 Linux 85 test 30
Contar el número de veces que cada línea aparece en el archivo:
$ sort testfile1 | uniq -c 3 Hola 95 3 Linux 85 3 test 30
Encontrar líneas repetidas en el archivo:
$ sort testfile1 | uniq -d Hola 95 Linux 85 test 30