Linux usa grep para eliminar la misma parte de dos archivos

Linux usa grep para eliminar la misma parte de dos archivos

Primero describa este problema: por ejemplo, dos archivos file1 y file2, elimine las partes comunes de los dos archivos y deje las partes únicas de los dos archivos.

1. Se conoce el contenido de los dos archivos.

[root@grep ~]# cat 1.txt 
aaa
111
bbb
222
ccc
333
ddd
444
eee
555

[root@grep ~]# cat 2.txt 
eee
111
kkk
999
eee
aaa
222
666

2. Usa grep

[root@grep ~]# grep -vf 1.txt 2.txt && grep -vf 2.txt 1.txt
kkk
999
666
bbb
ccc
333
ddd
444
555

Aquí se utilizan dos parámetros:

  • El parámetro -v significa coincidencia inversa, es decir, coincidencia inversa, y la salida no tiene elementos coincidentes.
  • El parámetro -f significa leer la plantilla coincidente (patrón) del archivo.

La parte anterior hace coincidir la plantilla en el archivo archivo1 para hacer coincidir inversamente el contenido del archivo archivo2, es decir, el contenido del archivo de salida archivo2 que no está en el archivo1. Esta última parte se puede obtener de la misma forma, el contenido en el archivo de salida file1 que no está en el file2.

Para otros métodos, consulte aquí

Supongo que te gusta

Origin blog.csdn.net/weixin_43279138/article/details/129096247
Recomendado
Clasificación