Ich habe zwei Dateien mit kleinen Unterschieden. Ein normaler diff
zeigt mir die Unterschiede zwischen den Dateien. Mit -c
oder -u
kann ich jedem Stück eine Menge Kontext hinzufügen. Welche Optionen kann ich an diff
übergeben, um jede unveränderte Zeile neben den Änderungen zu sehen, und das diff als ein einzelnes, großes Stück zu bekommen?Wie kann ich zwei Dateien mit vollem Kontext vergleichen?
Antwort
Verwenden Sie die "-y" Option für die vollständige Seite an Seite Ausgabe
diff -y Datei1 Datei2
Werden Sie Ausgabe etwas geben wie
* Lorem ipsum dolor sit amet, consectetuer adipiscing elit. * Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
* Praesent fringilla facilisis pede. * Praesent fringilla facilisis pede.
* Nulla sit amet tellus id massa luctus pellentesque. * Nulla sit amet tellus id massa luctus pellentesque.
* Pellentesque a neque nec elit aliquam congue. * Pellentesque a neque nec elit aliquam congue.
* Quisque rhoncus ultricies elit. * Quisque rhoncus ultricies elit.
* Pellentesque laoreet urna id arcu. * Pellentesque laoreet urna id arcu.
* Aenean non erat et elit egestas dictum. * Aenean non erat et elit egestas dictum.
* Proin ornare sem eget nulla. * Proin ornare sem eget nulla.
* Phasellus placerat convallis elit. * Phasellus placerat convallis elit.
* Donec ultricies metus non purus. * Donec ultricies metus non purus.
* Sed vel enim et nunc accumsan egestas. * Sed vel enim et nunc accumsan egestas.
* Cras eget elit in purus luctus ornare. * Cras eget elit in purus luctus ornare.
* In pharetra ligula sodales pede. <
* Morbi consectetuer mi vitae sem. * Morbi consectetuer mi vitae sem.
* Donec sollicitudin pretium erat. * Donec sollicitudin pretium erat.
* Cras facilisis nunc sed leo. * Cras facilisis nunc sed leo.
* Nunc varius ante sed nisi. * Nunc varius ante sed nisi.
> THIS SHOULDN'T BE HERE
> THIS SHOULDN'T EITHER!
* Aenean in quam sagittis est ornare ultricies. * Aenean in quam sagittis est ornare ultricies.
* Etiam dignissim scelerisque velit. * Etiam dignissim scelerisque velit.
* Mauris porta fringilla sapien. * Mauris porta fringilla sapien.
* Proin vitae nisl vitae mauris viverra tempor. * Proin vitae nisl vitae mauris viverra tempor.
* Maecenas quis arcu sed lorem mollis bibendum. * Maecenas quis arcu sed lorem mollis bibendum.
* Morbi sed turpis non risus molestie posuere. | * Morbi sed non risus molestie posuere.
* Curabitur id magna in nulla commodo tristique. * Curabitur id magna in nulla commodo tristique.
* Praesent quis nulla vel augue faucibus viverra. | * Praesent quis nulla BAD vel augue faucibus viverra.
* Sed interdum libero. | * Sed lacinia interdum libero.
> ANOTHER ADDITION
* Donec ultricies posuere arcu. * Donec ultricies posuere arcu.
* Etiam interdum auctor mi. * Etiam interdum auctor mi.
Sie können auch die diff Formatierung außer Kraft setzen Verhalten, um Ihr gewünschtes Verhalten ohne Verwendung des Side-by-Side-Modus zu erhalten:
diff --new-line-format='+%L' --old-line-format='-%L' --unchanged-line-format=' %L' file1 file2
T seinen Befehl erhalten Sie die vollständige Datei als Kontext zeigen und sein am nächsten Format diff -u file1 file2
Danke für diese Antwort - jede Idee, wie man ein Stück zu diesem hinzufügen? Ich möchte 'diff2html.py' verwenden, das einheitliche Diff akzeptiert; und ich muss manuell sagen: '(echo -e" --- _L.txt \ n +++ _R.txt \ n @@ -1,100 +1,100 @@ "&& diff --new-line-format ... _L.txt _R.txt) | python diff2html.py> LR.html', um die Syntaxfarbe zu erzwingen; Allerdings gebe ich einfach die Hunk-Nummern dort hinzu, bis es anfängt zu arbeiten - und ich würde lieber "diff" ein Stück dafür ausgeben. Ist es möglich? Prost! – sdaau
Die Lösung ist eine Kontextgröße (-U Argument), die als die Datei selbst größer ist gesetzt:
diff -U 1000000 file1.txt file2.txt
- 1. Wie kann ich zwei Dateien in einer Batch-Datei vergleichen?
- 2. Wie kann ich zwei Regale in TFS einfach vergleichen/vergleichen?
- 3. Wie kann ich zwei Tabellendaten vergleichen?
- 4. zwei XML-Dateien mit xslt vergleichen?
- 5. Wie kann ich zwei Lambda-Ausdrücke vergleichen?
- 6. Wie kann ich zwei Arrays vergleichen?
- 7. Wie kann ich zwei Textdateien vergleichen?
- 8. Wie kann ich zwei Git-Repositories vergleichen?
- 9. Wie kann ich zwei AssemblyName-Instanzen vergleichen?
- 10. Wie kann ich zwei gemischte Strings vergleichen?
- 11. Wie kann ich zwei String-Variablen vergleichen?
- 12. Wie zwei Dateien in Eclipse zu vergleichen?
- 13. Wie zwei Dateien in Haskell zu vergleichen
- 14. Wie zwei PDF-Dateien zu vergleichen?
- 15. Wie kann ich zwei Eigenschaften mit numerischen Werten vergleichen?
- 16. Wie kann ich zwei Variablen mit Zeichenfolgen in JavaScript vergleichen?
- 17. Wie kann ich zwei Dateien mit Eclipse vergleichen? Gibt es eine Option von Eclipse?
- 18. Dateien mit awk vergleichen
- 19. Wie kann ich zwei verschachtelte Datenstrukturen für Unittests vergleichen?
- 20. Inhalt von zwei Dateien in Dreamweaver vergleichen
- 21. Strings in zwei Dateien in C vergleichen;
- 22. Vergleichen Sie zwei Dateien ohne Reihenfolge
- 23. Wie vergleichen zwei Arbeitsmappe
- 24. Wie kann ich zwei Revisionen in Git in Eclipse vergleichen?
- 25. VBA vergleichen zwei Ordner, die differents Dateien
- 26. Wie kann ich zwei Listen in Groovy vergleichen
- 27. Kann man zwei Bäume mit Rekursionschemata vergleichen?
- 28. Warum kann ich zwei Strings nicht mit Getter vergleichen?
- 29. Wie kann ich Werte in zwei unsortierten int Arrays vergleichen?
- 30. Wie kann ich zwei Strings vergleichen und ihre Unterschiede feststellen?
Wenn Sie zufällig eine Grenze für die Größe der Dateien wissen, wie wäre es, nur ein großes Argument an -U zu übergeben? diff -U 9999 ... –