Comparar dos textos diferentes: encontrados iguales y diferentes

Comparar dos textos diferentes: encontrados iguales y diferentes

Quiero comparar los dos textos diferentes. Por favor verifique los detalles a continuación y lo que necesito.

El primer contenido del texto:

111 xx1
222
333
555

El segundo contenido del texto:

333
111 xxx
222
888

Mis preguntas

Estoy buscando un comando que pueda imprimir los siguientes resultados:

"Actualización: 111 xxx"

"Eliminar:555"

"Agregar: 888"

Lo más importante es que debería mostrar el título "actualizar", "Eliminar", "Agregar".

Respuesta1

Estás buscando

diff <(sort file1) <(sort file2)

que dará

1c1
< 111XZ
---
> 111 xxx
3a4
> 888

con "<" para los datos del archivo 1 y ">" para los datos del archivo 2.

Nota sobre la salida: esta es una pseudo ednotación.

  • csignifica cambiar de línea
  • asignifica agregar
  • dsignifica eliminar (no en el ejemplo anterior)

tu puedes hacer

diff <(sort file1) <(sort file2) |
awk '$1 == "<" {$1=" in file1 } $1== ">" { $1="in file2" } { print } '

(justo el final de la línea después |)

Respuesta2

Podrías usar diffpara eso. Sólo tienes que acostumbrarte a su formato de salida. Hay una guía práctica.aquí. Para algo con una GUI hayfusionar.

información relacionada