Vergleichen Sie zwei verschiedene Texte - Sie finden gleiche und unterschiedliche

Vergleichen Sie zwei verschiedene Texte - Sie finden gleiche und unterschiedliche

Ich möchte die beiden unterschiedlichen Texte vergleichen. Bitte überprüfen Sie die folgenden Details und was ich brauche

Der 1. Textinhalt:

111 xx1
222
333
555

Der 2. Textinhalt:

333
111 xxx
222
888

Meine Fragen

Ich suche nach einem Befehl, der die folgenden Ergebnisse ausgeben kann:

„Aktualisierung:111 xxx“

„Löschen:555“

"Hinzufügen:888"

Das Wichtigste ist, dass der Titel „Aktualisieren“, „Löschen“, „Hinzufügen“ angezeigt wird.

Antwort1

du suchst nach

diff <(sort file1) <(sort file2)

das gibt

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

mit „<“ für Daten in Datei 1 und ">" für Daten in Datei 2.

Hinweis zur Ausgabe: Dies ist eine Pseudonotation ed.

  • cbedeutet Zeile ändern
  • abedeutet anhängen
  • dbedeutet löschen (nicht im obigen Beispiel)

du kannst tun

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

(einfach Zeilenende nach |)

Antwort2

Sie könnten diffdafür verwenden. Sie müssen sich nur an das Ausgabeformat gewöhnen. Es gibt eine praktische AnleitungHier. Für etwas mit einer GUI gibt esmelden.

verwandte Informationen