Zum Inhalt springen

Diff · + hinzugefügt · − entfernt

Texte vergleichen

Der zeilenweise Vergleich von „red, green, blue“ mit „red, yellow, blue“ ergibt 1 hinzugefügte Zeile, 1 entfernte Zeile und 2 unveränderte. Füge zwei Texte ein, um jeden Unterschied zu sehen.

Jede hinzugefügte Zeile ist mit + und jede entfernte mit − markiert, zusätzlich zur Farbe, und die geänderten Zeichen in einer ersetzten Zeile sind hervorgehoben. Kleine Texte werden beim Tippen verglichen; der Text verlässt diesen Tab nie.

Scanned by NortonTM Safe Web

Auf einen Blick

Preis
Ohne Kosten
Konto
Nicht nötig
Upload
Entfällt – beide Texte bleiben in deinem Tab
Methode
Längste gemeinsame Teilfolge von Zeilen, geänderte Zeichen hervorgehoben
Ausgabe
Farbige und markierte Zeilen oder ein Unified Diff mit 3 Zeilen Kontext
Größenlimit
5,000 Zeilen und 5,000,000 Zeichen pro Text

Ein durchgerechneter Vergleich und die Wirkung der Optionen

Die Tabellen stammen aus demselben Code wie das Tool. Die erste vergleicht zwei Texte mit drei Zeilen; die zweite zeigt, wie die Optionen das Ergebnis für ein Zeilenpaar ändern.

„red, green, blue“ gegen „red, yellow, blue“, eines pro Zeile
MarkierungZeile
=red
−green
+yellow
=blue
„Hello World“ gegen „hello world“ (zwei Leerzeichen)
EinstellungHinzugefügte ZeilenEntfernte Zeilen
Exakt11
Groß-/Kleinschreibung ignorieren11
Leerraum ignorieren11
Groß-/Kleinschreibung und Leerraum ignorieren00

So vergleichst du zwei Texte

1

Die beiden Texte einfügen

Lege den älteren Text in das Feld „Originaltext“ und den neueren in das Feld „Geänderter Text“. Zwei kurze Beispiele stehen schon darin. „Tauschen“ vertauscht die beiden Felder, „Beide leeren“ leert sie.

2

Festlegen, was als Unterschied zählt

Setze „Groß-/Kleinschreibung ignorieren“, um „Hello“ und „hello“ als dieselbe Zeile zu behandeln, und „Leerraum ignorieren“, um Leerzeichen am Zeilenende und mehrfache Leerzeichen innerhalb einer Zeile zu ignorieren. „Nur Änderungen anzeigen“ faltet die unveränderten Zeilen weg und behält 3 Zeilen um jede Änderung.

3

Unterschied lesen oder kopieren

Mit − markierte Zeilen gibt es nur im Original, mit + markierte nur im geänderten Text. Kopiere das Unified Diff, um es in eine Nachricht oder einen Patch einzufügen, oder lade es als .diff-Datei herunter.

Wie der Vergleich funktioniert

Die beiden Texte werden in Zeilen zerlegt, und das Tool findet die längste gemeinsame Teilfolge von Zeilen: die größte Menge an Zeilen, die in beiden Texten in derselben Reihenfolge vorkommen. Jede Zeile außerhalb dieser Menge wird als entfernt (nur im Original) oder hinzugefügt (nur im geänderten Text) gemeldet, sodass das Diff so wenige geänderte Zeilen wie möglich hat. Folgt auf eine entfernte Zeile direkt eine hinzugefügte, werden die Zeichen hervorgehoben, in denen sich die beiden unterscheiden.

Ein Diff arbeitet mit Zeilen, weil Zeilen die Einheit sind, in der sich Code, Konfigurationsdateien und Listen ändern, und ein Zeilenvergleich bei Tausenden von Zeilen schnell bleibt. Eine verschobene Zeile erscheint einmal als entfernt und einmal als hinzugefügt; ein geändertes Wort erscheint als ersetzte Zeile mit hervorgehobenen Zeichen. Zeilenenden werden normalisiert, sodass eine mit Windows-Zeilenumbrüchen gespeicherte Datei mit derselben, mit Unix-Zeilenumbrüchen gespeicherten Datei übereinstimmt. Jeder Text darf bis zu 5,000 Zeilen und 5,000,000 Zeichen haben. Die Unified-Diff-Ausgabe nutzt das gängige Format: einen Kopf mit --- und +++, dann @@-Blöcke mit 3 Zeilen Kontext.

Fragen zum Textvergleich

Wie entscheidet ein Text-Diff, was sich geändert hat?

Es findet die längste gemeinsame Teilfolge von Zeilen, also die meisten Zeilen, die beide Texte in derselben Reihenfolge teilen. Zeilen außerhalb davon werden mit − markiert, wenn nur das Original sie hat, und mit +, wenn nur der geänderte Text sie hat. „red, green, blue“ gegen „red, yellow, blue“ behält red und blue, entfernt green und fügt yellow hinzu.

Warum vergleicht das Tool Zeilen und nicht Wörter?

In Zeilen sind Code, Logs, Listen und Konfigurationsdateien organisiert, und ein zeilenbasiertes Ergebnis ist kurz genug zum Lesen. Bei einer ersetzten Zeile werden die abweichenden Zeichen darin hervorgehoben, sodass eine Ein-Wort-Änderung in einem langen Satz leicht zu erkennen ist.

Was bedeuten die Farben und die Zeichen + und −?

Eine grüne Zeile mit + wurde im geänderten Text hinzugefügt. Eine rote Zeile mit − wurde aus dem Original entfernt. Zeilen ohne Markierung sind in beiden gleich. Die Zeichen werden zusätzlich zu den Farben ausgegeben, sodass das Ergebnis auch lesbar ist, wenn man Rot und Grün nicht unterscheiden kann.

Wie ignoriere ich Unterschiede bei Groß-/Kleinschreibung oder Leerzeichen?

Setze „Groß-/Kleinschreibung ignorieren“, um Zeilen ohne Rücksicht auf Großbuchstaben zu vergleichen, und „Leerraum ignorieren“, um Leerzeichen am Zeilenanfang und -ende zu ignorieren und jede Folge von Leerzeichen innerhalb einer Zeile als ein Leerzeichen zu behandeln. Mit beiden Haken sind „Hello World“ und „hello world“ dieselbe Zeile.

Wie groß dürfen die beiden Texte sein?

Jeder Text darf bis zu 5,000 Zeilen und 5,000,000 Zeichen haben. Ein Text mit 5,000 Zeilen, verglichen mit einer umsortierten Kopie seiner selbst, wird auf einem aktuellen Computer in weit unter einer Sekunde verarbeitet. Ab insgesamt 100,000 Zeichen startet der Vergleich, wenn du auf „Vergleichen“ drückst, statt beim Tippen.

Was ist ein Unified Diff?

Es ist das Textformat, das von diff und Git verwendet wird. Es beginnt mit einer --- und einer +++ Zeile, die die beiden Texte benennen, dann folgt ein Block je Gruppe von Änderungen. Ein Block beginnt mit einem Kopf wie @@ -1,3 +1,3 @@, also 3 Zeilen ab Zeile 1 des Originals und 3 Zeilen ab Zeile 1 des geänderten Textes, und jede Zeile beginnt mit einem Leerzeichen, + oder −.