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
.
c
bedeutet Zeile änderna
bedeutet anhängend
bedeutet 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 |
)