Kommandozeilenvergleicher gesucht?
-
Hallo Leute,
ich muss über die Kommandozeile zwei Textfiles miteinander vergleichen und deren Unterschied als Info bekommen(z.B. drittes File).
Kann mir vielleicht einer sagen ob es sowas gibt.
Ich kenne examDiff und Beyond&Compare.
Bin dankbar für jede Information
-
Mit "diff foo bar" kannst Du den Unterschied zwischen foo und bar auf die Standardausgabe ausgeben lassen. Wenn Du daraus "diff -u foo bar > mein.patch" machst, dann ist das auch richtig brauchbar.
-
Danke,
aber wenn ich das richtig sehe ist das Tool nur unter UNIX Systemen verfügbar.
Ich brauche aber ein Tool für Windows.
-
souso20 schrieb:
aber wenn ich das richtig sehe ist das Tool nur unter UNIX Systemen verfügbar.
10 Sekunden Google hätten Dir das Gegenteil bewiesen...
Haben wir erst kürzlich in einem Thread hier durchgekaut.
-
Sorry,
habs auch schon gemerkt.
Asche auf mein Haupt.
-
Jetzt habe ich aber doch nochmal eine Frage.
Mit welchen optionen kann ich denn nur geänderte zeilen nebeneinander darstellen?
-
-y, vielleicht noch ein --suppress-common-lines
-
leider gibt -q nur aus ob es einen unterschied gibt, aber zeigt nicht welche.
-
geil,
genau das was ich suchedanke für deine unterstützung
-
Ein wirklich schönes Compare-Tool ist "Compare It!"... das kann man auch auf Kommandozeile verwenden und erzeugt z.B. u.a. schön bunte HTML-Dokument (mit Buchstaben-Unterschiede; also nicht bloss Zeilenweise wie die meisten anderen)
-
comp
-
Danke für den Tipp,
aber ich benötige ein Tool welches mir die Änderungen Textmäßig zurückgiebt, damit ich diese in einem Textreport anzeigen kann.
jetzt habe ich das Problem, dass wenn ich diff.exe mit ShellExecute aufrufe die Parameter ignoriert werden.
ShellExecute(0,NULL,_T("c:\diff.exe"),_T("in.txt in1.txt > C:\Diff.txt"),NULL,SW_SHOW);
Kann mir einer vielleicht weiter helfen?
-
Hallo
das kann schon mal wegen der fehlenden Escape-Maskierung der Backslashes nicht laufen.
bis bald
akari
-
Habe den Befehl folgendermaßen angepasst:
ShellExecute(0,NULL,_T("c:\\diff.exe"),_T("c:\\in.txt c:\\in1.txt > C:\\Diff.txt"),NULL,SW_SHOW);
Geht aber leider immmer noch nicht.
-
Wahrscheinlich, weil das > als Parameter statt als Streamumleitung interpretiert wird. Mit system würde es funktionieren, aber das ist (wie auch alle anderen Methoden, ein Programm aus einem Programm aufzurufen) böse. Bist du dir sicher, dass das Problem nicht mit einer Batchdatei lösbar ist?
-
Das ganze mit dem "Pipe" Funktioniert nur unter der Console... amlso musst Du es via "cmd.exe /c" starten!!!