En la operación del sistema Linux, el contenido del texto inevitablemente aparecerá líneas duplicadas. Si lo elimina manualmente, es más molesto cuando tiene más cantidad. ¿Qué método puede eliminar rápidamente los duplicados? Que hay de eso La siguiente pequeña serie le mostrará cómo usar el comando uniq para eliminar líneas duplicadas en Linux.
a, uniq utiliza para hacer
repetidas líneas de texto, básicamente, no lo que queremos, por lo que debe deshacerse de él. Hay otros comandos en Linux que pueden eliminar líneas duplicadas, pero creo que uniq sigue siendo conveniente. Cuando use uniq, preste atención a los dos puntos siguientes
1. Cuando trabaje con texto, generalmente se usa en combinación con el comando de clasificación, porque uniq no comprueba las líneas duplicadas a menos que sean líneas adyacentes. Si desea ordenar primero la entrada, use sort -u.
2, cuando la operación de texto, si el campo es un primer carácter nulo (por lo general incluye espacios y tabulaciones), luego los caracteres no nulos, los caracteres nulos antes de los caracteres en el campo se omitirán
Segundo, descripción del parámetro uniq
El código es el siguiente:
[zhangy @ BlackGhost ~] $ uniq --help
Uso: uniq [opciones]. . . [Archivo]
Filtra líneas adyacentes coincidentes de archivos de entrada o entrada estándar y escribe en archivos de salida o salida estándar. "/p" "p" no adjunta ninguna opción cuando las líneas coincidentes se fusionarán en la primera aparición. "/p" Los parámetros que deben usarse para la opción larga "p" también son necesarios para las opciones cortas.
-c, --count //prefijo cada línea con un número de prefijo que indica el número de apariciones de la línea correspondiente
-d, --repetida //salida solo líneas duplicadas
-D, --todos repetidos //Exportar solo líneas duplicadas, pero hay algunas líneas que dan salida a algunas líneas
-f, --skip-fields = N //- f Número de segmentos ignorados , -f 1 ignora el primer párrafo
-i, --ignore-case //no distingue entre mayúsculas y minúsculas
-s, --skip-chars = N //root-f es un poco Igual que, pero -s se ignora, cuántos caracteres en la parte posterior - s 5 ignoran los últimos 5 caracteres
-u, --unique//elimina el duplicado, se muestra todo, la función distinta de root de mysql Es un poco como
-z, - líneas finales terminadas en cero con 0 bytes, no en nueva línea
-w, --check-chars = N //después del carácter enésimo de cada línea El contenido no se verifica
--help //Muestra esta ayuda y sale
--version //Muestra la información de la versión y sale
donde -z no sabe qué Con
tres, pruebe el código de archivo de texto uniqtest
de la siguiente manera:
Esta es una prueba
Esta es una prueba
Esta es una prueba
Soy un tanque
Me encanta el tanque
Me encanta Tanque
esta es una prueba
que tienen un try
WhoM tienen un try
tienes un try
quiero Abure
esos son buenos hombres
somos buenos hombres
IV, ejemplo de explicación
El código es el siguiente:
[zhangy @ BlackGhost Mytest] $ uniq -c uniqtest
3 esta es una prueba
1 soy tanque
2 i love tank
1 esta es una prueba //y la primera línea se repite
1 quien tiene un try
1 WhoM tiene un try
1 tienes un try
1 Quiero Al extranjero
1 somos buenos hombres
1 somos buenos hombres
En el ejemplo anterior, podemos ver que una característica de uniq, al verificar líneas duplicadas, Sólo se comprueban las filas adyacentes. Repita los datos, debe haber muchos que no sean adyacentes.
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ sort uniqtest |
Uniq -c
1 WhoM intentarlo
1 soy tanque
2 Amo el tanque
1 Quiero ir al extranjero
4 esta es una prueba
1 esos son hombres buenos
1 somos hombres buenos
1 que tienen un intento
1 tienes un intento
Esto resolverá el problema mencionado en el ejemplo anterior
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ uniq -d -c uniqtest
3 esta es una prueba
2 i love tank
uniq -d muestra solo líneas duplicadas
El código es el siguiente:
[zhangy @ BlackGhost Mytest] $ uniq -D uniqtest
esta es una prueba
esta es una prueba
esta es una prueba
i love tank
i love tank
uniq -D muestra solo líneas repetidas y líneas repetidas. No puede usar con -c
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ uniq -f 1 -c uniqtest
3 esta es una prueba
1 soy un tanque
2 amo un tanque
1 esta es una prueba
2 que tienen un intento
1 tienes un intento
1 quiero ir al extranjero
2 esos son hombres buenos //solo una línea, mostrando dos líneas
Aquí solo hay una línea de la cosa, pero la pantalla se repite, esto Esto se debe a que -f 1 ignora la primera columna y comprueba si hay duplicados desde el segundo campo.
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ uniq -i -c uniqtest
3 esta es una prueba
1 soy tank < Br>
2 i love tank
1 esta es una prueba
2 que tienen un try //una mayúscula, una minúscula
1 tienes un try < Br>
1 quiero ir al extranjero
1 esos son buenos hombres
1 somos buenos hombres
Al verificar, no se distinguen mayúsculas y minúsculas
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ uniq -s 4 -c uniqtest
3 esta es una prueba
1 soy tank
2 i love tank
1 esta es una prueba
3 who have a try //¿Cuál es la diferencia entre un ejemplo en la raíz
1 que quiero en el extranjero?
1 esos son buenos hombres
1 somos buenos hombres
Al marcar, no consideres los primeros 4 caracteres, así que tienes una oportunidad y la tienes. .
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ uniq -u uniqtest
soy un tanque
esta es una prueba
quién tiene un intento
Quién tengo un intento
tienes un intento
quiero ir al extranjero
esos son hombres buenos
somos buenos hombres
Para repetir los elementos y luego mostrarlos todos
El código es el siguiente:
[zhangy @ BlackGhost mytest] $ uniq -w 2 -c uniqtest < Br>
3 esta es una prueba
3 soy tanque
1 esta es una prueba
1 a quien tengo una oportunidad
1 WhoM Inténtalo
1 tienes un intento
1 quiero ir al extranjero
1 esos son buenos hombres
1 somos buenos hombres
El contenido del segundo carácter después de cada línea no se comprueba, por lo que el i am tank root i love tank es el mismo.
Lo anterior es la forma de usar el comando uniq para eliminar comandos de línea duplicados en Linux. A veces, las líneas duplicadas en el texto no solo son inútiles, sino que también ocupan espacio. Use el comando uniq para borrarlo.
VLC es un reproductor multimedia versátil que admite múltiples formatos de video. L
Como administrador de Linux, se necesita un sistema de gestión de cuentas razonable
El sistema Linux crond se usa principalmente para establecer las instrucciones que
En el entorno de escritorio gráfico Gnome del sistema Ubuntu, algunos usuarios han
Linux usa Florence para configurar ejemplos de operación de teclado de pantalla
Configuración del sistema Linux DB2 y otros servicios de proceso de arranque
Linux cómo configurar el alias de comando
Linux usa whiptail para formar un método de diálogo
Instalación de Linux utilizando el método de fail2ban
¿Cómo usar la herramienta rz /sz para la transferencia de archivos en Linux
¿Cómo enlazar varias tarjetas de red a una bajo Linux?
¿Cómo configurar Kali Linux después de la instalación?
Instalación de Linux y pasos de configuración para JDK y Eclipse
¿Qué debo hacer si el archivo del disco U es de solo lectura en Ubuntu y no se puede eliminar?
Win10 vista previa versión actualización de la solución de descarga lenta
¿Cómo configurar correctamente la gestión de energía de win10?
Qiao acelerar la velocidad con la configuración del panel de escritorio como la seguridad
Linux usa comandos para limpiar archivos grandes.
La versión de escritorio Win10 de Redstone 14295 actualizó el contenido de la versión
¿Cómo cambiar el tiempo de ahorro de pantalla del sistema win7?
Apple lanza el nuevo OS X 10.7.3 beta para desarrolladores
La personalización de Windows 2008 lo hace adecuado para el uso diario