Kategorie:Linux/Datei/Vergleich: Unterschied zwischen den Versionen

Aus Foxwiki
Die Seite wurde neu angelegt: „== Dateien vergleichen == {| class="wikitable sortable" style="border-spacing:0;margin:auto;width:17.501cm;" |- || Ob Konfigurationsdateien, Quelltexte oder…“
 
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Dateien vergleichen ==
Ob Konfigurationsdateien, Quelltexte oder andere Dokumente, es kommt oft vor, dass man zwei Versionen desselben Textes miteinander vergleichen möchte. Manchmal will man auch nur herausfinden ob zwei Dateien genau denselben Inhalt haben.


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
|-
|| Ob Konfigurationsdateien, Quelltexte oder andere Dokumente, es kommt oft vor, dass man zwei Versionen desselben Textes miteinander vergleichen möchte.
Manchmal will man auch nur herausfinden ob zwei Dateien genau denselben Inhalt haben.
| align=right| [[Image:Grafik17.png|right|top]]
|-
|}
Dateien manuell miteinander zu vergleichen kann allerdings ziemlich mühselig sein. Programme wie '''diff''', '''Kompare''' oder '''Meld''' können einem diese Arbeit erleichtern.
Dateien manuell miteinander zu vergleichen kann allerdings ziemlich mühselig sein. Programme wie '''diff''', '''Kompare''' oder '''Meld''' können einem diese Arbeit erleichtern.


Zeile 19: Zeile 11:
Mit dem Programm diff kann man auf der Kommandozeile Dateien vergleichen. Die Befehlssyntax ist einfach:
Mit dem Programm diff kann man auf der Kommandozeile Dateien vergleichen. Die Befehlssyntax ist einfach:


<div style="margin-left:0cm;margin-right:0cm;">diff Datei1 Datei2
diff Datei1 Datei2


Will man nur wissen ob eine Datei sich inhaltlich von einer anderen Datei unterscheidet, kann der Parameter <tt>q</tt> verwendet werden:
Will man nur wissen ob eine Datei sich inhaltlich von einer anderen Datei unterscheidet, kann der Parameter <tt>q</tt> verwendet werden:


<div style="margin-left:0cm;margin-right:0cm;">diff -q Datei1 Datei2
diff -q Datei1 Datei2


Unterscheiden sich die Dateien, gibt diff eine entsprechende Meldung aus, ansonsten erfolgt keine Ausgabe.
Unterscheiden sich die Dateien, gibt diff eine entsprechende Meldung aus, ansonsten erfolgt keine Ausgabe.


<div style="margin-left:0cm;margin-right:0cm;">Dateien datei1 und datei2 sind verschieden.
Dateien datei1 und datei2 sind verschieden.


Ohne den Parameter q zeigt diff die Unterschiede an, das sieht zum Beispiel so aus:
Ohne den Parameter q zeigt diff die Unterschiede an, das sieht zum Beispiel so aus:


<div style="margin-left:0cm;margin-right:0cm;">diff beispiel2 beispiel1
'''diff beispiel2 beispiel1'''
  1,2c1,2
  1,2c1,2
  < Das ist ein Beispieltext für einen Blogartikel.
  < Das ist ein Beispieltext für einen Blogartikel.
Zeile 46: Zeile 38:
  > Mit noch mehr Text.
  > Mit noch mehr Text.


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| Diff zeigt immer an, was man in der zweiten Datei ändern müsste, damit sie der ersten Datei entspricht.  
|| Diff zeigt immer an, was man in der zweiten Datei ändern müsste, damit sie der ersten Datei entspricht.  
Zeile 62: Zeile 54:
Die ersten beiden Zeilen geben an, welche Dateien verglichen werden, und das Inhalte aus der ersten Datei mittels Sternchen (<tt><nowiki>***</nowiki></tt>) und Inhalte aus der zweiten Zeile mittels Bindestrichen (<tt>---</tt>) gekennzeichnet werden.
Die ersten beiden Zeilen geben an, welche Dateien verglichen werden, und das Inhalte aus der ersten Datei mittels Sternchen (<tt><nowiki>***</nowiki></tt>) und Inhalte aus der zweiten Zeile mittels Bindestrichen (<tt>---</tt>) gekennzeichnet werden.


<div style="margin-left:0cm;margin-right:0cm;">diff -c beispiel2 beispiel1
$ '''diff -c beispiel2 beispiel1'''
  <nowiki>*** beispiel2 </nowiki>  2009-05-12 22:01:52.000000000 +0200
  <nowiki>*** beispiel2 </nowiki>  2009-05-12 22:01:52.000000000 +0200
  --- beispiel1  2009-05-12 20:26:48.000000000 +0200
  --- beispiel1  2009-05-12 20:26:48.000000000 +0200
Zeile 91: Zeile 83:
Außerdem ist es möglich die Inhalte der beiden Dateien nebeneinander anzuzeigen.
Außerdem ist es möglich die Inhalte der beiden Dateien nebeneinander anzuzeigen.


diff -y beispiel2 beispiel1
$ '''diff -y beispiel2 beispiel1'''
  Das ist ein Beispieltext für einen Blogartikel.              | Das hier ist ein Beispieltext.
  Das ist ein Beispieltext für einen Blogartikel.              | Das hier ist ein Beispieltext.
  Diese Datei heisst beispiel2.                                | Diese Datei heisst beispiel1.
  Diese Datei heisst beispiel2.                                | Diese Datei heisst beispiel1.
Zeile 106: Zeile 98:
Möchte man drei Dateien miteinander vergleichen kann man anstatt diff den Befehl diff3 verwenden.
Möchte man drei Dateien miteinander vergleichen kann man anstatt diff den Befehl diff3 verwenden.


<div style="margin-left:0cm;margin-right:0cm;">diff3 beispiel1 beispiel2 beispiel3
$ '''diff3 beispiel1 beispiel2 beispiel3'''
  <nowiki>====1</nowiki>
  <nowiki>====1</nowiki>
  1:1,2c
  1:1,2c
Zeile 118: Zeile 110:
Es ist auch möglich mit diff den Inhalt von Verzeichnissen zu vergleichen, diff zeigt dann an, welche Dateien nur in einem der beiden Verzeichnisse existieren. Der Parameter r weist diff an, auch Unterverzeichnisse zu überprüfen.
Es ist auch möglich mit diff den Inhalt von Verzeichnissen zu vergleichen, diff zeigt dann an, welche Dateien nur in einem der beiden Verzeichnisse existieren. Der Parameter r weist diff an, auch Unterverzeichnisse zu überprüfen.


<div style="margin-left:0cm;margin-right:0cm;">diff -r verz1 verz2
$ '''diff -r verz1 verz2'''
  Nur in verz1: datei3.
  Nur in verz1: datei3.


Wenn man längere Texte miteinander vergleicht und die Ausgabe nicht mehr auf den Bildschirm passt kann man sie auch an ein Programm wie <tt>less</tt> übergeben:
Wenn man längere Texte miteinander vergleicht und die Ausgabe nicht mehr auf den Bildschirm passt kann man sie auch an ein Programm wie <tt>less</tt> übergeben:
 
diff datei1 datei2 | less
<div style="margin-left:0cm;margin-right:0cm;">diff datei1 datei2 | less


Anschließend kann man bequem durch die Ausgabe von diff scrollen.
Anschließend kann man bequem durch die Ausgabe von diff scrollen.
Zeile 129: Zeile 120:
==== Optionen ====
==== Optionen ====


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-q '''</tt>
| | <tt>'''-q '''</tt>
| style="border:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | für '''q'''uick, gibt nur Unterschiede aus  
| | für '''q'''uick, gibt nur Unterschiede aus  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-s '''</tt>
| | <tt>'''-s '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | für '''s'''ame, meldet wenn Dateien gleich sind  
| | für '''s'''ame, meldet wenn Dateien gleich sind  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''--help '''</tt>
| | <tt>'''--help '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Hilfe  
| | Hilfe  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-r '''</tt>
| | <tt>'''-r '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | für '''r'''ekursiv, vergleicht Unterverzeichnisse wenn vorhanden  
| | für '''r'''ekursiv, vergleicht Unterverzeichnisse wenn vorhanden  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-y '''</tt>
| | <tt>'''-y '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | tabellarische Ausgabe, auch gleiche Zeilen, ungleiche Zeilen werden markiert  
| | tabellarische Ausgabe, auch gleiche Zeilen, ungleiche Zeilen werden markiert  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''--suppress-common-lines '''</tt>
| | <tt>'''--suppress-common-lines '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | unterdrückt gleiche Zeilen  
| | unterdrückt gleiche Zeilen  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-a '''</tt>
| | <tt>'''-a '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | behandelt alle Dateien (z.B. binäre) wie Text  
| | behandelt alle Dateien (z.B. binäre) wie Text  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-d '''</tt>
| | <tt>'''-d '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | versucht mit erhöhtem Aufwand kleinere Veränderungen zu finden  
| | versucht mit erhöhtem Aufwand kleinere Veränderungen zu finden  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''--speed-large-files '''</tt>
| | <tt>'''--speed-large-files '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | geht von großen Dateien und vielen, kleinen, verstreuten Veränderungen aus  
| | geht von großen Dateien und vielen, kleinen, verstreuten Veränderungen aus  


|-
|-
|}
|}
==== Beispiele ====
==== Beispiele ====
 
$ '''diff -q DATEI1 DATEI2'''
<div style="margin-left:0cm;margin-right:0cm;">diff -q DATEI1 DATEI2  
  Dateien '''DATEI1''' und '''DATEI2''' unterscheiden sich
  Dateien '''DATEI1''' und '''DATEI2''' unterscheiden sich
  diff DATEI1 DATEI2  
  diff DATEI1 DATEI2  
Zeile 177: Zeile 168:
Vergleichen von Ordnern:  
Vergleichen von Ordnern:  


<div style="margin-left:0cm;margin-right:0cm;">diff -s ORDNER1 ORDNER2  
$ '''diff -s ORDNER1 ORDNER2'''
  Dateien ORDNER1/DATEI1 und ORDNER2/DATEI1 sind identisch
  Dateien ORDNER1/DATEI1 und ORDNER2/DATEI1 sind identisch
  Dateien ORDNER1/DATEI2 und ORDNER2/DATEI2 sind identisch
  Dateien ORDNER1/DATEI2 und ORDNER2/DATEI2 sind identisch
Zeile 183: Zeile 174:


===== Patchdatei erstellen =====
===== Patchdatei erstellen =====
Wer sich mit Programmierung, Bugs oder dem Verbessern von Programmen beschäftigt, benutzt diff um Änderungen per [http://wiki.ubuntuusers.de/Versionsverwaltung Versionsverwaltung] mitzuteilen. Um nicht alle Codedateien mit Änderungen auszutauschen, werden nur die geänderten Stellen im Diff-Format gespeichert. Der so erstellte Diff kann dann als Patch (beispielsweise mit [http://wiki.ubuntuusers.de/patch patch]) angewendet werden.
Wer sich mit Programmierung, Bugs oder dem Verbessern von Programmen beschäftigt, benutzt diff um Änderungen per [http://wiki.ubuntuusers.de/Versionsverwaltung Versionsverwaltung] mitzuteilen. Um nicht alle Codedateien mit Änderungen auszutauschen, werden nur die geänderten Stellen im Diff-Format gespeichert. Der so erstellte Diff kann dann als Patch (beispielsweise mit [http://wiki.ubuntuusers.de/patch patch]) angewendet werden.


Folgende Optionen von diff sind außerdem noch für das Erstellen einer Patchdatei interessant:
Folgende Optionen von diff sind außerdem noch für das Erstellen einer Patchdatei interessant:


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-q '''</tt>
| | <tt>'''-q '''</tt>
| style="border:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | ignoriert in diesem Fall fehlende Dateien  
| | ignoriert in diesem Fall fehlende Dateien  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-u '''</tt>
| | <tt>'''-u '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | für '''u'''nified, gibt <tt>NUM</tt> (Standard 3) der unveränderten Zeilen aus  
| | für '''u'''nified, gibt <tt>NUM</tt> (Standard 3) der unveränderten Zeilen aus  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-N '''</tt>
| | <tt>'''-N '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | für '''N'''ew, erstellt fehlende Dateien  
| | für '''N'''ew, erstellt fehlende Dateien  


|-
|-
|}
|}
==== Beispiele ====
==== Beispiele ====
 
$ '''diff -uNr ORIGINALDATEI VERBESSERTE_DATEI > DIFFDATEI.diff'''
<div style="margin-left:0cm;margin-right:0cm;">diff -uNr ORIGINALDATEI VERBESSERTE_DATEI > DIFFDATEI.diff  


Die Datei '''DIFFDATEI.diff''' würde dann in etwa so aussehen:  
Die Datei '''DIFFDATEI.diff''' würde dann in etwa so aussehen:  


<div style="margin-left:0cm;margin-right:0cm;">--- a/ORIGINALDATEI
--- a/ORIGINALDATEI
  +++ b/VERBESSERTE_DATEI
  +++ b/VERBESSERTE_DATEI
  @@ -1,8 +1,9 @@
  @@ -1,8 +1,9 @@
Zeile 224: Zeile 214:
Nach Angabe der Dateien, in welcher Zeile man sich befindet und wie viele Zeilen es vorher und danach sind, kommen die drei gleichgebliebenen Zeilen. Die Angabe der Verzeichnisse ('''a/''' und '''b/''') dient nur als Platzhalter, falls Dateien bereits vorhanden sind. Zeilen mit <tt>+</tt> sind dazugekommen, Zeilen mit <tt>-</tt> weggenommen und Zeilen mit einem Leerzeichen "<tt> </tt>" gleichgeblieben.
Nach Angabe der Dateien, in welcher Zeile man sich befindet und wie viele Zeilen es vorher und danach sind, kommen die drei gleichgebliebenen Zeilen. Die Angabe der Verzeichnisse ('''a/''' und '''b/''') dient nur als Platzhalter, falls Dateien bereits vorhanden sind. Zeilen mit <tt>+</tt> sind dazugekommen, Zeilen mit <tt>-</tt> weggenommen und Zeilen mit einem Leerzeichen "<tt> </tt>" gleichgeblieben.


<div style="margin-left:0cm;margin-right:0cm;">diff -uNr ORDNER1 ORDNER2 > DIFFORDNER.diff  
diff -uNr ORDNER1 ORDNER2 > DIFFORDNER.diff  


Der Inhalt der Datei DIFFORDNER.diff:  
Der Inhalt der Datei DIFFORDNER.diff:  


<div style="margin-left:0cm;margin-right:0cm;">diff -uNr ORDNER1/DATEI3 ORDNER2/DATEI3
diff -uNr ORDNER1/DATEI3 ORDNER2/DATEI3
  --- ORDNER1/DATEI3
  --- ORDNER1/DATEI3
  +++ ORDNER2/DATEI3
  +++ ORDNER2/DATEI3
Zeile 246: Zeile 236:
diff3 kann den Inhalt von drei Dateien gleichzeitig vergleichen. diff3 ist, ebenso wie diff, Teil der GNU Utilities. Die allgemeine Syntax lautet:
diff3 kann den Inhalt von drei Dateien gleichzeitig vergleichen. diff3 ist, ebenso wie diff, Teil der GNU Utilities. Die allgemeine Syntax lautet:


<div style="margin-left:0cm;margin-right:0cm;">diff3 [Optionen] Datei1 Datei2 Datei3  
diff3 [Optionen] Datei1 Datei2 Datei3  


Anders als der Namen es vermuten lässt kennt diff3 deutlich weniger und andere Optionen als [http://wiki.ubuntuusers.de/diff diff], außerdem ist die Ausgabe anders strukturiert. Eine Übersicht erhält man in den [http://wiki.ubuntuusers.de/man Manpages] oder wenn man diff3 ohne Angaben von Dateinamen nur mit der Option <tt>--help</tt> aufruft.
Anders als der Namen es vermuten lässt kennt diff3 deutlich weniger und andere Optionen als [http://wiki.ubuntuusers.de/diff diff], außerdem ist die Ausgabe anders strukturiert. Eine Übersicht erhält man in den [http://wiki.ubuntuusers.de/man Manpages] oder wenn man diff3 ohne Angaben von Dateinamen nur mit der Option <tt>--help</tt> aufruft.
Zeile 256: Zeile 246:
Das Programm ist nicht in der Standardinstallation enthalten kann aber nachinstalliert werden.
Das Programm ist nicht in der Standardinstallation enthalten kann aber nachinstalliert werden.


<div style="margin-left:0cm;margin-right:0cm;">sudo apt-get install colordiff  
sudo apt-get install colordiff  


==== vimdiff ====
==== vimdiff ====
Zeile 264: Zeile 254:
Die Syntax von vimdiff ist:  
Die Syntax von vimdiff ist:  


<div style="margin-left:0cm;margin-right:0cm;">vimdiff [Optionen] [Datei1] [Datei2] [Datei3] [Datei4]  
vimdiff [Optionen] [Datei1] [Datei2] [Datei3] [Datei4]  


Oder analog:  
Oder analog:  


<div style="margin-left:0cm;margin-right:0cm;">vim -d [Optionen] [Datei1] [Datei2] [Datei3] [Datei4]  
vim -d [Optionen] [Datei1] [Datei2] [Datei3] [Datei4]  


Die GUI-Variante von VIM kann mit <tt>gvim...</tt> bzw. der Option <tt>-g</tt> gestartet werden.
Die GUI-Variante von VIM kann mit <tt>gvim...</tt> bzw. der Option <tt>-g</tt> gestartet werden.
Zeile 274: Zeile 264:
Folgende Einstellungen werden für das aktuelle Fenster (lokal) gesetzt:  
Folgende Einstellungen werden für das aktuelle Fenster (lokal) gesetzt:  


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''diff '''</tt>
| | <tt>'''diff '''</tt>
| style="border:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>on</tt>  
| | <tt>on</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''scrollbind '''</tt>
| | <tt>'''scrollbind '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>on</tt>  
| | <tt>on</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''cursorbind '''</tt>
| | <tt>'''cursorbind '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>on</tt>  
| | <tt>on</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''scrollopt '''</tt>
| | <tt>'''scrollopt '''</tt>
| style="background-color:transparent;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | += <tt>hor</tt>  
| | += <tt>hor</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''wrap '''</tt>
| | <tt>'''wrap '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>off</tt>  
| | <tt>off</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''foldmethod '''</tt>
| | <tt>'''foldmethod '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>diff</tt>  
| | <tt>diff</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''foldcolumn '''</tt>
| | <tt>'''foldcolumn '''</tt>
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>2</tt> (oder Wert von <tt>diffopt</tt>)  
| | <tt>2</tt> (oder Wert von <tt>diffopt</tt>)  
|-
|-
|}
|}
Mit <tt>:diffoff</tt> kann der "Diffmodus" beendet werden (Einstellungen werden nicht auf vorherige Werte zurückgesetzt).
Mit <tt>:diffoff</tt> kann der "Diffmodus" beendet werden (Einstellungen werden nicht auf vorherige Werte zurückgesetzt).


Zeile 306: Zeile 297:
Comm vergleicht zeilenweise sortierte Dateien. Das von Richard Stallman und David MacKenzie geschriebene Programm gehört zu den GNU-Standard-Werkzeugen.
Comm vergleicht zeilenweise sortierte Dateien. Das von Richard Stallman und David MacKenzie geschriebene Programm gehört zu den GNU-Standard-Werkzeugen.


<div style="margin-left:0cm;margin-right:0cm;">comm [OPTIONEN] DATEI1 DATEI2  
comm [OPTIONEN] DATEI1 DATEI2  


Beispiel:  
Beispiel:  


<div style="margin-left:0cm;margin-right:0cm;">comm -1 -3 ~/text1 ~/text2  
comm -1 -3 ~/text1 ~/text2  


Ohne die Angabe von Optionen wird eine Ausgabe mit drei Spalten erzeugt. Die erste Spalte enthält Einträge, die nur in der ersten Datei vorkommen, die zweite Spalte enthält die Einträge, die nur in der zweiten Datei existieren und die dritte Zeile enthält die Zeilen, die in beiden Dateien zu finden sind.  
Ohne die Angabe von Optionen wird eine Ausgabe mit drei Spalten erzeugt. Die erste Spalte enthält Einträge, die nur in der ersten Datei vorkommen, die zweite Spalte enthält die Einträge, die nur in der zweiten Datei existieren und die dritte Zeile enthält die Zeilen, die in beiden Dateien zu finden sind.  
Zeile 318: Zeile 309:
Jede der drei Spalten kann über die folgenden Optionen in der Ausgabe unterdrückt werden:
Jede der drei Spalten kann über die folgenden Optionen in der Ausgabe unterdrückt werden:


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
| style="border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>-1</tt>  
| | <tt>-1</tt>  
| style="border:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | unterdrückt einzigartige Zeilen aus <tt>DATEI1</tt>  
| | unterdrückt einzigartige Zeilen aus <tt>DATEI1</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>-2</tt>  
| | <tt>-2</tt>  
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | unterdrückt einzigartige Zeilen aus <tt>DATEI2</tt>  
| | unterdrückt einzigartige Zeilen aus <tt>DATEI2</tt>  
|-
|-
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>-3</tt>  
| | <tt>-3</tt>  
| style="border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | unterdrückt gleiche Zeilen beider Dateien  
| | unterdrückt gleiche Zeilen beider Dateien  


|-
|-
|}
|}
=== Byteweise vergleichen (cmp) ===
=== Byteweise vergleichen (cmp) ===
<tt>cmp</tt> (compare) vergleicht zwei Dateien byteweise  
<tt>cmp</tt> (compare) vergleicht zwei Dateien byteweise  


cmp [-cls] [-show-chars] [-verbose] [-silent] [-quiet] Datei1 [Datei2]  
cmp [-cls] [-show-chars] [-verbose] [-silent] [-quiet] Datei1 [Datei2]  


cmp ist Teil des [http://wiki.ubuntuusers.de/diff diff] Paketes und zeigt ab dem wievielten Byte sich zwei Dateien voneinander unterscheiden und ist somit zum Beispiel nützlich um Binär-Dateien zu vergleichen.
cmp ist Teil des [http://wiki.ubuntuusers.de/diff diff] Paketes und zeigt ab dem wievielten Byte sich zwei Dateien voneinander unterscheiden und ist somit zum Beispiel nützlich um Binär-Dateien zu vergleichen.
Zeile 346: Zeile 337:


==== Anwendung  ====
==== Anwendung  ====
 
cat datei1
cat datei1
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
  Lorem ipsum dolor sit amet, consectetuer adipiscing elit.  
  cat datei2  
  cat datei2  
  Lorem Gabel dolor sit amet, consectetuer adipiscing elit.
  Lorem Gabel dolor sit amet, consectetuer adipiscing elit.
cmp datei1 datei2  
 
cmp datei1 datei2  
  datei1 datei2 differieren: Byte 7, Zeile 1.
  datei1 datei2 differieren: Byte 7, Zeile 1.
cmp -b datei1 datei2  
 
cmp -b datei1 datei2  
  datei1 datei2 differieren: Zeichen 7, Zeile 1 ist 151 i 107 G
  datei1 datei2 differieren: Zeichen 7, Zeile 1 ist 151 i 107 G
cmp -l datei1 datei2  
 
cmp -l datei1 datei2  
   7 151 107
   7 151 107
   8 160 141
   8 160 141
Zeile 361: Zeile 354:
  10 165 145
  10 165 145
  11 155 154
  11 155 154
cmp -l -b datei1 datei2  
 
cmp -l -b datei1 datei2  
   7 151 i    107 G
   7 151 i    107 G
   8 160 p    141 a
   8 160 p    141 a
Zeile 369: Zeile 363:


==== Optionen ====
==== Optionen ====
 
{| class="wikitable sortable"   
{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
|-
|-
| style="background-color:transparent;border-top:0.05pt solid #000000;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-b, --print-bytes'''</tt>
| | <tt>'''-b, --print-bytes'''</tt>
| style="background-color:transparent;border:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | Zeigt unterschiedliche Bytes
| | Zeigt unterschiedliche Bytes
|-
|-
| style="background-color:transparent;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-l, --print-bytes'''</tt>
| | <tt>'''-l, --print-bytes'''</tt>
| style="background-color:transparent;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | (list) gibt die Position und den oktalen Wert aller differierenden Zeichen in einer Liste aus  
| | (list) gibt die Position und den oktalen Wert aller differierenden Zeichen in einer Liste aus  
|-
|-
| style="background-color:transparent;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:none;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | <tt>'''-s, --quiet, --silent'''</tt>
| | <tt>'''-s, --quiet, --silent'''</tt>
| style="background-color:transparent;border-top:none;border-bottom:0.05pt solid #000000;border-left:0.05pt solid #000000;border-right:0.05pt solid #000000;padding-top:0.101cm;padding-bottom:0.101cm;padding-left:0.3cm;padding-right:0.3cm;" | (silent) gibt nichts auf die Standardausgabe; der Status ist 0 (wahr), wenn die Dateien übereinstimmen und 1 (falsch), wenn sie sich unterscheiden  
| | (silent) gibt nichts auf die Standardausgabe; der Status ist 0 (wahr), wenn die Dateien übereinstimmen und 1 (falsch), wenn sie sich unterscheiden  


|-
|-
|}
|}
=== Kompare ===
=== Kompare ===


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| KDE-Benutzer können auch das Programm Kompare verwenden um zwei Dateien miteinander zu vergleichen.  
|| KDE-Benutzer können auch das Programm Kompare verwenden um zwei Dateien miteinander zu vergleichen.  
Zeile 396: Zeile 390:
|-
|-
|}
|}
=== Meld ===
=== Meld ===


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| Meld ist ebenfalls ein grafisches Programm zum Vergleichen von Dateien. Die Funktionsweise ist ähnlich der von Kompare. Mit einem Klick auf die Pfeile neben den Unterschieden kann man die Textstelle entweder von der ersten Datei in die Zweite, oder umgekehrt übernehmen.  
|| Meld ist ebenfalls ein grafisches Programm zum Vergleichen von Dateien. Die Funktionsweise ist ähnlich der von Kompare. Mit einem Klick auf die Pfeile neben den Unterschieden kann man die Textstelle entweder von der ersten Datei in die Zweite, oder umgekehrt übernehmen.  
Zeile 408: Zeile 403:
[http://meldmerge.org/ Meld] ist ein in [http://wiki.ubuntuusers.de/Python Python] geschriebenes Werkzeug, um bis zu drei Verzeichnisse oder Dateien miteinander zu vergleichen. Hierbei werden Textdateien Zeile für Zeile analysiert. Unterschiede lassen sich hier nicht nur aufspüren, sondern auch direkt editieren.
[http://meldmerge.org/ Meld] ist ein in [http://wiki.ubuntuusers.de/Python Python] geschriebenes Werkzeug, um bis zu drei Verzeichnisse oder Dateien miteinander zu vergleichen. Hierbei werden Textdateien Zeile für Zeile analysiert. Unterschiede lassen sich hier nicht nur aufspüren, sondern auch direkt editieren.


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| Das Programm kann im GNOME-Menü unter ''"Anwendungen -> Software-Entwicklung -> Meld Diff-Betrachter"'' gestartet werden.
|| Das Programm kann im GNOME-Menü unter ''"Anwendungen -> Software-Entwicklung -> Meld Diff-Betrachter"'' gestartet werden.
Zeile 416: Zeile 411:
|}
|}


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| Nachdem das Hauptfenster erschienen ist, müssen die zu vergleichenden Verzeichnisse oder Dateien ausgewählt werden.  
|| Nachdem das Hauptfenster erschienen ist, müssen die zu vergleichenden Verzeichnisse oder Dateien ausgewählt werden.  
Zeile 425: Zeile 420:
|-
|-
|}
|}
==== Vergleich zweier Verzeichnisse ====
==== Vergleich zweier Verzeichnisse ====
Wenn zwei Verzeichnisse ausgewählt wurden, werden deren Unterschiede im Hauptfenster von Meld dargestellt (siehe Abbildung):* '''Foto.png''': ist in beiden Verzeichnissen enthalten. Meld färbt den Dateinamen jedoch rot ein. Dies bedeutet, dass die beiden Dateien nicht identisch sind. Eine detailliertere Betrachtung der Unterschiede ist jedoch nur bei Text- bzw. ASCII-Dateien möglich.
Wenn zwei Verzeichnisse ausgewählt wurden, werden deren Unterschiede im Hauptfenster von Meld dargestellt (siehe Abbildung):* '''Foto.png''': ist in beiden Verzeichnissen enthalten. Meld färbt den Dateinamen jedoch rot ein. Dies bedeutet, dass die beiden Dateien nicht identisch sind. Eine detailliertere Betrachtung der Unterschiede ist jedoch nur bei Text- bzw. ASCII-Dateien möglich.
* '''hallo.txt''': ist ebenfalls in beiden Verzeichnissen enthalten, sie unterschieden sich jedoch voneinander. Durch einen Doppelklick auf diese Datei öffnet Meld einen neuen Reiter (Tab). In diesem Tab werden die Unterschiede der Textdateien im Detail dargestellt.
* '''hallo.txt''': ist ebenfalls in beiden Verzeichnissen enthalten, sie unterschieden sich jedoch voneinander. Durch einen Doppelklick auf diese Datei öffnet Meld einen neuen Reiter (Tab). In diesem Tab werden die Unterschiede der Textdateien im Detail dargestellt.
Zeile 432: Zeile 427:
* '''test.dat''': ist nur im Zielverzeichnis vorhanden
* '''test.dat''': ist nur im Zielverzeichnis vorhanden


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| Es können Filter gesetzt werden (zum Beispiel, um Multimedia und/oder Binärdateien ignorieren). Eigene Filter können hinzugefügt werden.
|| Es können Filter gesetzt werden (zum Beispiel, um Multimedia und/oder Binärdateien ignorieren). Eigene Filter können hinzugefügt werden.
Zeile 439: Zeile 434:
|-
|-
|}
|}
==== Vergleich von Textdateien ====
==== Vergleich von Textdateien ====
Werden zwei Textdateien verglichen, werden deren Unterschiede im Hauptfenster von Meld dargestellt (siehe Abbildung): * grüne Zeilen zeigen diejenigen Zeilen an, die nur in der jeweiligen Textdatei existieren
Werden zwei Textdateien verglichen, werden deren Unterschiede im Hauptfenster von Meld dargestellt (siehe Abbildung): * grüne Zeilen zeigen diejenigen Zeilen an, die nur in der jeweiligen Textdatei existieren
* blaue Zeilen zeigen Zeilen an, die in beiden Dateien vorhanden sind, sich aber durch einige Zeichen unterscheiden.
* blaue Zeilen zeigen Zeilen an, die in beiden Dateien vorhanden sind, sich aber durch einige Zeichen unterscheiden.
Zeile 456: Zeile 451:


==== Aufruf über ein Terminal ====
==== Aufruf über ein Terminal ====
Alternativ kann Meld über ein Terminal [http://wiki.ubuntuusers.de/Meld#source-2 [2]] gestartet werden. Die zu vergleichenden Verzeichnisse oder Dateien werden als Argument übergeben:
Alternativ kann Meld über ein Terminal [http://wiki.ubuntuusers.de/Meld#source-2 [2]] gestartet werden. Die zu vergleichenden Verzeichnisse oder Dateien werden als Argument übergeben:
 
meld /Pfad/zu/Mein_Verzeichnis_1/ /Pfad/zu/Mein_Verzeichnis_2/  
<div style="margin-left:0cm;margin-right:0cm;">meld /Pfad/zu/Mein_Verzeichnis_1/ /Pfad/zu/Mein_Verzeichnis_2/  


==== Einstellungen ====
==== Einstellungen ====
Über ''"Bearbeiten → Einstellungen"'' stehen vielfältige Möglichkeiten zur Anpassung an die eigenen Bedürfnisse zur Verfügung. Die nebenstehende Abbildung zeigt beispielhaft einige dieser Optionen.
Über ''"Bearbeiten → Einstellungen"'' stehen vielfältige Möglichkeiten zur Anpassung an die eigenen Bedürfnisse zur Verfügung. Die nebenstehende Abbildung zeigt beispielhaft einige dieser Optionen.


==== Problembehebung ====
==== Problembehebung ====
===== Kann keine Ordner vergleichen =====
===== Kann keine Ordner vergleichen =====
Möchte man nicht nur Dateien, sondern auch Verzeichnisse miteinander vergleichen, so ist Diffuse das falsche Werkzeug. Das Programm [http://wiki.ubuntuusers.de/Meld Meld] hingegen unterstützt diese Funktion.
Möchte man nicht nur Dateien, sondern auch Verzeichnisse miteinander vergleichen, so ist Diffuse das falsche Werkzeug. Das Programm [http://wiki.ubuntuusers.de/Meld Meld] hingegen unterstützt diese Funktion.


==== Links ====
==== Links ====
 
# [http://diffuse.sourceforge.net/index_de.html diffuse Projektseite]http://diffuse.sourceforge.net/index_de.html
* [http://diffuse.sourceforge.net/index_de.html diffuse Projektseite]http://diffuse.sourceforge.net/index_de.html
# [http://diffuse.sourceforge.net/manual_de.html Handbuch]http://diffuse.sourceforge.net/manual_de.html
* [http://diffuse.sourceforge.net/manual_de.html Handbuch]http://diffuse.sourceforge.net/manual_de.html


=== Diffuse ===
=== Diffuse ===
Diffuse ist ein in Python geschriebenes Programm zum Vergleichen und Zusammenführen von Textdateien (vornehmlich Quellcode). Es wurde unter der GNU GPLv2 veröffentlicht und ist auch für Windows und Mac OS X erhältlich.  
Diffuse ist ein in Python geschriebenes Programm zum Vergleichen und Zusammenführen von Textdateien (vornehmlich Quellcode). Es wurde unter der GNU GPLv2 veröffentlicht und ist auch für Windows und Mac OS X erhältlich.  


Zeile 488: Zeile 476:
Der Aufbau des Programm gliedert sich in 6 Teile. Oben, unter der Menüleiste, befindet sich die globale Werkzeugleiste. Von links nach rechts:  
Der Aufbau des Programm gliedert sich in 6 Teile. Oben, unter der Menüleiste, befindet sich die globale Werkzeugleiste. Von links nach rechts:  


{| class="wikitable sortable"  style="border-spacing:0;margin:auto;width:17.501cm;"
{| class="wikitable sortable"   
|-
|-
|| * Zwei Schaltflächen zum Öffnen eines neuen Tabs zum Vergleichen von 2 oder 3 Dateien
|| * Zwei Schaltflächen zum Öffnen eines neuen Tabs zum Vergleichen von 2 oder 3 Dateien
Zeile 525: Zeile 513:
Möchte man einen Satz von drei Dateien öffnen, so kann man dies über folgenden Befehl tun:  
Möchte man einen Satz von drei Dateien öffnen, so kann man dies über folgenden Befehl tun:  


<div style="margin-left:0cm;margin-right:0cm;">diffuse DATEI1 DATEI2 DATEI3   
diffuse DATEI1 DATEI2 DATEI3   


Um lokale Änderungen oder Konflikte beim Zusammenführen zu überprüfen, verwendet man den Befehl:  
Um lokale Änderungen oder Konflikte beim Zusammenführen zu überprüfen, verwendet man den Befehl:  


<div style="margin-left:0cm;margin-right:0cm;">diffuse -m  
diffuse -m  


Zum Vergleichen spezifischer Revisionen verwendet man:  
Zum Vergleichen spezifischer Revisionen verwendet man:  


<div style="margin-left:0cm;margin-right:0cm;">diffuse -r REVISION1 -r REVISION2 DATEI  
diffuse -r REVISION1 -r REVISION2 DATEI  


Eine Revision überprüft man mit folgendem Befehl:  
Eine Revision überprüft man mit folgendem Befehl:  


<div style="margin-left:0cm;margin-right:0cm;">diffuse -c rev  
diffuse -c rev  


[[Image:Grafik30.png]]
[[Image:Grafik30.png]]
Zeile 543: Zeile 531:
=== BeeDiff ===
=== BeeDiff ===


<div style="margin-left:0cm;margin-right:0cm;">BeeDiff ist ein Programm mit grafischer Oberfläche zum Vergleich und zusammenführen von Dateien.  
BeeDiff ist ein Programm mit grafischer Oberfläche zum Vergleich und zusammenführen von Dateien.  


<div style="margin-left:0cm;margin-right:0cm;">BeeDiff zweigt zwei Dateien nebeneinander und hebt Unterschiede farblich hervor. Operation buttons (such as merge and remove) are located directly inside the compared texts in appropriate positions. Das Programm ist benutzerfreundlich, einfach und effizient.
BeeDiff zweigt zwei Dateien nebeneinander und hebt Unterschiede farblich hervor. Operation buttons (such as merge and remove) are located directly inside the compared texts in appropriate positions. Das Programm ist benutzerfreundlich, einfach und effizient.


[[Image:Grafik2.png|middle]]
[[Image:Grafik2.png|middle]]

Version vom 15. Februar 2022, 02:06 Uhr

Ob Konfigurationsdateien, Quelltexte oder andere Dokumente, es kommt oft vor, dass man zwei Versionen desselben Textes miteinander vergleichen möchte. Manchmal will man auch nur herausfinden ob zwei Dateien genau denselben Inhalt haben.

Dateien manuell miteinander zu vergleichen kann allerdings ziemlich mühselig sein. Programme wie diff, Kompare oder Meld können einem diese Arbeit erleichtern.

Eine Anwendung ist das Vergleichen zweier Versionen einer Quelltext- oder Konfigurationsdatei, es können aber auch alle Arten von Textdateien verglichen werden. Einige Programme können auch drei Dateien vergleichen.

Besagte Programme gibt es sowohl für die Kommandozeile als auch mit grafischen Oberflächen. Besonders letztere heben die Unterschiede zwischen den Dateien oft farbig hervor. Weiterhin gibt es oft die Möglichkeit, die beiden Dateien zusammenzuführen oder auch einen Patch zu erstellen, beispielsweise mittels patch.

Dateien vergleichen mit diff

Mit dem Programm diff kann man auf der Kommandozeile Dateien vergleichen. Die Befehlssyntax ist einfach:

diff Datei1 Datei2

Will man nur wissen ob eine Datei sich inhaltlich von einer anderen Datei unterscheidet, kann der Parameter q verwendet werden:

diff -q Datei1 Datei2

Unterscheiden sich die Dateien, gibt diff eine entsprechende Meldung aus, ansonsten erfolgt keine Ausgabe.

Dateien datei1 und datei2 sind verschieden.

Ohne den Parameter q zeigt diff die Unterschiede an, das sieht zum Beispiel so aus:

diff beispiel2 beispiel1
1,2c1,2
< Das ist ein Beispieltext für einen Blogartikel.
< Diese Datei heisst beispiel2.
---
> Das hier ist ein Beispieltext.
> Diese Datei heisst beispiel1.
6C6
< Nicht eingerückter Text.
---
>       Eingerückter Text.
8A9,10
>
> Mit noch mehr Text.
Diff zeigt immer an, was man in der zweiten Datei ändern müsste, damit sie der ersten Datei entspricht.

Die erste Zeile (1,2c1,2) bedeutet: Zeile 1 und Zeile 2 der zweiten Datei müssen verändert (c steht für change, das englische Wort für Ändern) werden, damit sie Zeile 1 und 2 der ersten Datei entsprechen. Außerdem wird der Inhalt der Zeilen angezeigt, so sieht man gleich was man ändern müsste.

Datei:Grafik18.png

Außer c für change gibt es noch a, das steht für Anhängen (append), und d für Löschen (delete). 8a9,10 bedeutet also, das hinter Zeile 8 noch Text eingefügt werden muss, nämlich die Zeilen 9 und 10 der zweiten Datei.

Ansicht ändern

Es gibt auch noch zwei andere Ausgabeformate. Das eine ist das Kontext-Format, dabei werden zu jeder Zeile, die verändert werden muss, auch noch die vorangehenden und folgenden 3 Zeilen angezeigt.

Die ersten beiden Zeilen geben an, welche Dateien verglichen werden, und das Inhalte aus der ersten Datei mittels Sternchen (***) und Inhalte aus der zweiten Zeile mittels Bindestrichen (---) gekennzeichnet werden.

$ diff -c beispiel2 beispiel1
*** beispiel2   2009-05-12 22:01:52.000000000 +0200
--- beispiel1   2009-05-12 20:26:48.000000000 +0200
***************
*** 1,8 ****
! Das ist ein Beispieltext für einen Blogartikel.
! Diese Datei heisst beispiel2.
 
  Lorem ipsum.
 
! Nicht eingerückter Text.
 
  Hier geht es noch weiter.
--- 1,10 ----
! Das hier ist ein Beispieltext.
! Diese Datei heisst beispiel1.
 
  Lorem ipsum.
 
!       Eingerückter Text.
 
  Hier geht es noch weiter.
+
+ Mit noch mehr Text.

Änderungen werden durch ein Ausrufezeichen, hinzuzufügende Zeilen mit einem Plus, zu entfernende Zeilen mit einem Minus gekennzeichnet.

Außerdem ist es möglich die Inhalte der beiden Dateien nebeneinander anzuzeigen.

$ diff -y beispiel2 beispiel1
Das ist ein Beispieltext für einen Blogartikel.               | Das hier ist ein Beispieltext.
Diese Datei heisst beispiel2.                                 | Diese Datei heisst beispiel1.
 
Lorem ipsum.                                                    Lorem ipsum.
 
Nicht eingerückter Text.                                      |         Eingerückter Text.
 
Hier geht es noch weiter.                                       Hier geht es noch weiter.
                                                              >
                                                              > Mit noch mehr Text.
Was kann diff noch?

Möchte man drei Dateien miteinander vergleichen kann man anstatt diff den Befehl diff3 verwenden.

$ diff3 beispiel1 beispiel2 beispiel3
====1
1:1,2c
  Das hier ist ein Beispieltext.
  Diese Datei heisst beispiel1.
2:1,2c
3:1,2c
  Das ist ein Beispieltext für einen Blogartikel.
  Diese Datei heisst beispiel2.

Es ist auch möglich mit diff den Inhalt von Verzeichnissen zu vergleichen, diff zeigt dann an, welche Dateien nur in einem der beiden Verzeichnisse existieren. Der Parameter r weist diff an, auch Unterverzeichnisse zu überprüfen.

$ diff -r verz1 verz2
Nur in verz1: datei3.

Wenn man längere Texte miteinander vergleicht und die Ausgabe nicht mehr auf den Bildschirm passt kann man sie auch an ein Programm wie less übergeben:

diff datei1 datei2 | less

Anschließend kann man bequem durch die Ausgabe von diff scrollen.

Optionen

-q für quick, gibt nur Unterschiede aus
-s für same, meldet wenn Dateien gleich sind
--help Hilfe
-r für rekursiv, vergleicht Unterverzeichnisse wenn vorhanden
-y tabellarische Ausgabe, auch gleiche Zeilen, ungleiche Zeilen werden markiert
--suppress-common-lines unterdrückt gleiche Zeilen
-a behandelt alle Dateien (z.B. binäre) wie Text
-d versucht mit erhöhtem Aufwand kleinere Veränderungen zu finden
--speed-large-files geht von großen Dateien und vielen, kleinen, verstreuten Veränderungen aus

Beispiele

$ diff -q DATEI1 DATEI2
Dateien DATEI1 und DATEI2 unterscheiden sich
diff DATEI1 DATEI2 
4,6c4,5
<       Unterschied 1
<       Unterschied 2
<       Unterschied 5
---
>       Unterschied 3
>       Unterschied 4

Zuerst gibt diff an, in welcher Zeile sich die Unterschiede befinden. Zeilen mit < sind in der ersten Datei vorhanden und Zeilen mit > in der zweiten.

Vergleichen von Ordnern:

$ diff -s ORDNER1 ORDNER2
Dateien ORDNER1/DATEI1 und ORDNER2/DATEI1 sind identisch
Dateien ORDNER1/DATEI2 und ORDNER2/DATEI2 sind identisch
Nur in ORDNER2: DATEI3
Patchdatei erstellen

Wer sich mit Programmierung, Bugs oder dem Verbessern von Programmen beschäftigt, benutzt diff um Änderungen per Versionsverwaltung mitzuteilen. Um nicht alle Codedateien mit Änderungen auszutauschen, werden nur die geänderten Stellen im Diff-Format gespeichert. Der so erstellte Diff kann dann als Patch (beispielsweise mit patch) angewendet werden.

Folgende Optionen von diff sind außerdem noch für das Erstellen einer Patchdatei interessant:

-q ignoriert in diesem Fall fehlende Dateien
-u für unified, gibt NUM (Standard 3) der unveränderten Zeilen aus
-N für New, erstellt fehlende Dateien

Beispiele

$ diff -uNr ORIGINALDATEI VERBESSERTE_DATEI > DIFFDATEI.diff

Die Datei DIFFDATEI.diff würde dann in etwa so aussehen:

--- a/ORIGINALDATEI
+++ b/VERBESSERTE_DATEI
@@ -1,8 +1,9 @@
 Gleich 1
 Gleich 2
 Gleich 3
+       Unterschied 1
+       Unterschied 2
-       Unterschied 3
-       Unterschied 4
+       Unterschied 5
        Gleich 4
        Gleich 5
        Gleich 6

Nach Angabe der Dateien, in welcher Zeile man sich befindet und wie viele Zeilen es vorher und danach sind, kommen die drei gleichgebliebenen Zeilen. Die Angabe der Verzeichnisse (a/ und b/) dient nur als Platzhalter, falls Dateien bereits vorhanden sind. Zeilen mit + sind dazugekommen, Zeilen mit - weggenommen und Zeilen mit einem Leerzeichen " " gleichgeblieben.

diff -uNr ORDNER1 ORDNER2 > DIFFORDNER.diff 

Der Inhalt der Datei DIFFORDNER.diff:

diff -uNr ORDNER1/DATEI3 ORDNER2/DATEI3
--- ORDNER1/DATEI3
+++ ORDNER2/DATEI3
@@ -0,0 +1,5 @@
+       Unterschied 1
+       Unterschied 2
+       Unterschied 3
+       Unterschied 4
+       Unterschied 5

Hier wurden die Ordner verglichen und in den - und +-Zeilen mit angegeben. Da DATEI3 noch nicht in ORDNER1 vorhanden (0,0) ist, werden die Zeilen 1-5 einfach eingefügt.

Somit wird die Datei bei einem Anwenden von patch erstellt.

diff3

diff3 kann den Inhalt von drei Dateien gleichzeitig vergleichen. diff3 ist, ebenso wie diff, Teil der GNU Utilities. Die allgemeine Syntax lautet:

diff3 [Optionen] Datei1 Datei2 Datei3 

Anders als der Namen es vermuten lässt kennt diff3 deutlich weniger und andere Optionen als diff, außerdem ist die Ausgabe anders strukturiert. Eine Übersicht erhält man in den Manpages oder wenn man diff3 ohne Angaben von Dateinamen nur mit der Option --help aufruft.

colordiff

colordiff ist eine erweiterte Varianten von diff, bei der die Ausgabe der Unterschiede farblich hervorgehoben wird, was besonders bei größeren Dateien die Lesbarkeit erhöht. Die Syntax von colordiff ist identisch mit der von diff.

Das Programm ist nicht in der Standardinstallation enthalten kann aber nachinstalliert werden.

sudo apt-get install colordiff 

vimdiff

vimdiff ist ein Kurzbefehl, um VIM mit entsprechenden Einstellungen, zum Vergleichen von bis zu vier Dateien zu starten.

Die Syntax von vimdiff ist:

vimdiff [Optionen] [Datei1] [Datei2] [Datei3] [Datei4] 

Oder analog:

vim -d [Optionen] [Datei1] [Datei2] [Datei3] [Datei4] 

Die GUI-Variante von VIM kann mit gvim... bzw. der Option -g gestartet werden.

Folgende Einstellungen werden für das aktuelle Fenster (lokal) gesetzt:

diff on
scrollbind on
cursorbind on
scrollopt += hor
wrap off
foldmethod diff
foldcolumn 2 (oder Wert von diffopt)

Mit :diffoff kann der "Diffmodus" beendet werden (Einstellungen werden nicht auf vorherige Werte zurückgesetzt).

Die verschiedenen Kommandos wie :diffupdate (Diff aktualisieren, Folds anpassen), :diffget, :diffput und Weitere finden sich in der Dokumentation unter :help diff.

Zeilenweise vergleichen (comm)

Comm vergleicht zeilenweise sortierte Dateien. Das von Richard Stallman und David MacKenzie geschriebene Programm gehört zu den GNU-Standard-Werkzeugen.

comm [OPTIONEN] DATEI1 DATEI2 

Beispiel:

comm -1 -3 ~/text1 ~/text2 

Ohne die Angabe von Optionen wird eine Ausgabe mit drei Spalten erzeugt. Die erste Spalte enthält Einträge, die nur in der ersten Datei vorkommen, die zweite Spalte enthält die Einträge, die nur in der zweiten Datei existieren und die dritte Zeile enthält die Zeilen, die in beiden Dateien zu finden sind.

Die ersten beiden Spalten enthalten also "einzigartige" Zeilen einer Datei, die dritte Spalte hingegen "gleiche" Zeilen aus beiden Dateien.

Jede der drei Spalten kann über die folgenden Optionen in der Ausgabe unterdrückt werden:

-1 unterdrückt einzigartige Zeilen aus DATEI1
-2 unterdrückt einzigartige Zeilen aus DATEI2
-3 unterdrückt gleiche Zeilen beider Dateien

Byteweise vergleichen (cmp)

cmp (compare) vergleicht zwei Dateien byteweise

cmp [-cls] [-show-chars] [-verbose] [-silent] [-quiet] Datei1 [Datei2] 

cmp ist Teil des diff Paketes und zeigt ab dem wievielten Byte sich zwei Dateien voneinander unterscheiden und ist somit zum Beispiel nützlich um Binär-Dateien zu vergleichen.

Wenn Sie anstelle eines der beiden Dateinamen ein Minuszeichen`-' angegeben, liest das cmp-Kommando die Vergleichsdaten von der Standardeingabe. Wird nur eine Datei benannt, so wird anstelle der zweiten ebenfalls von der Standardeingabe gelesen.

Einige nützliche Parameter sind -b welcher den Ascii-Code und das Zeichen des ersten sich unterscheidenden Bytes in der Datei anzeigt und -l welches den Ascii-Code sämtlicher sich unterscheidender Bytes anzeigt.

Wenn man beide Parameter zusammen benutzt bekommt man eine Liste mit allen sich unterscheidenden Bytes, ihrer Stelle innerhalb der Datei, ihrem Ascii-Code und ihrem eigentlichen Zeichen.

Anwendung

cat datei1
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. 
cat datei2 
Lorem Gabel dolor sit amet, consectetuer adipiscing elit.
cmp datei1 datei2 
datei1 datei2 differieren: Byte 7, Zeile 1.
cmp -b datei1 datei2 
datei1 datei2 differieren: Zeichen 7, Zeile 1 ist 151 i 107 G
cmp -l datei1 datei2 
 7 151 107
 8 160 141
 9 163 142
10 165 145
11 155 154
cmp -l -b datei1 datei2 
 7 151 i    107 G
 8 160 p    141 a
 9 163 s    142 b
10 165 u    145 e
11 155 m    154 l

Optionen

-b, --print-bytes Zeigt unterschiedliche Bytes
-l, --print-bytes (list) gibt die Position und den oktalen Wert aller differierenden Zeichen in einer Liste aus
-s, --quiet, --silent (silent) gibt nichts auf die Standardausgabe; der Status ist 0 (wahr), wenn die Dateien übereinstimmen und 1 (falsch), wenn sie sich unterscheiden

Kompare

KDE-Benutzer können auch das Programm Kompare verwenden um zwei Dateien miteinander zu vergleichen.

Kompare zeigt beide Dateien nebeneinander an, Unterschiede werden farblich hervorgehoben. Text mit rotem Hintergrund muss verändert werden, solcher mit blauem Hintergrund muss hinzugefügt, und solcher mit grünem Hintergrund muss entfernt werden, damit die zweite Datei der ersten entspricht.

Es ist auch möglich einzelne oder alle Abweichungen zu übernehmen, bzw. die Texte manuell zusammenzuführen.

Datei:Grafik19.png

Meld

Meld ist ebenfalls ein grafisches Programm zum Vergleichen von Dateien. Die Funktionsweise ist ähnlich der von Kompare. Mit einem Klick auf die Pfeile neben den Unterschieden kann man die Textstelle entweder von der ersten Datei in die Zweite, oder umgekehrt übernehmen.

Der Unterschied zu Kompare ist aber, dass die beiden Dateien in einem Texteditor dargestellt werden, und das man sie auch manuell noch weiter bearbeiten kann. Das ist sehr nützlich, z.B. für den Fall das man bestimmte Änderungen nur teilweise übernehmen möchte.

Datei:Grafik20.png

Meld ist ein in Python geschriebenes Werkzeug, um bis zu drei Verzeichnisse oder Dateien miteinander zu vergleichen. Hierbei werden Textdateien Zeile für Zeile analysiert. Unterschiede lassen sich hier nicht nur aufspüren, sondern auch direkt editieren.

Das Programm kann im GNOME-Menü unter "Anwendungen -> Software-Entwicklung -> Meld Diff-Betrachter" gestartet werden. Datei:Grafik23.png
Nachdem das Hauptfenster erschienen ist, müssen die zu vergleichenden Verzeichnisse oder Dateien ausgewählt werden.

Diese geschieht im Menü mit "File -> Neu". Im Dialogfenster, das sich öffnet, muss der entsprechende Reiter für Datei- oder Verzeichnisvergleich angewählt und anschließend über die Schaltflächen "Browse" die entsprechenden Pfade ausgewählt werden.

Datei:Grafik24.png

Vergleich zweier Verzeichnisse

Wenn zwei Verzeichnisse ausgewählt wurden, werden deren Unterschiede im Hauptfenster von Meld dargestellt (siehe Abbildung):* Foto.png: ist in beiden Verzeichnissen enthalten. Meld färbt den Dateinamen jedoch rot ein. Dies bedeutet, dass die beiden Dateien nicht identisch sind. Eine detailliertere Betrachtung der Unterschiede ist jedoch nur bei Text- bzw. ASCII-Dateien möglich.

  • hallo.txt: ist ebenfalls in beiden Verzeichnissen enthalten, sie unterschieden sich jedoch voneinander. Durch einen Doppelklick auf diese Datei öffnet Meld einen neuen Reiter (Tab). In diesem Tab werden die Unterschiede der Textdateien im Detail dargestellt.
  • man_diff.txt: diese Dateien sind identisch
  • test.dat: ist nur im Zielverzeichnis vorhanden
Es können Filter gesetzt werden (zum Beispiel, um Multimedia und/oder Binärdateien ignorieren). Eigene Filter können hinzugefügt werden. Datei:Grafik25.png

Vergleich von Textdateien

Werden zwei Textdateien verglichen, werden deren Unterschiede im Hauptfenster von Meld dargestellt (siehe Abbildung): * grüne Zeilen zeigen diejenigen Zeilen an, die nur in der jeweiligen Textdatei existieren

  • blaue Zeilen zeigen Zeilen an, die in beiden Dateien vorhanden sind, sich aber durch einige Zeichen unterscheiden.
  • gelbe Zeilen zeigen die aktuell gewählte Zeile (wo sich der Cursor befindet) an.

Ganz links bzw. ganz rechts wird jeweils ein vertikaler Bereich angezeigt, der die aktuelle Position des Cursors in der Datei sowie die Anzahl und die relativen Postionen der Dateiunterschiede als Navigationshilfe anzeigt.

In den Einstellungen kann man Filter setzen, welche Bereiche nicht als Unterschiede zählen sollten. So gibt zum Beispiel die Optionen "Whitespace" (Leerzeichen und verschiedene Einrückungen ignorieren) oder Kommentare ignorieren.

Des weiteren können eigene Filter mittels reguläre Ausdrücke definiert werden. Ferner kann in den Einstellungen noch gewählt werden, ob die Dateien mit einem entsprechenden Syntax-Highlighting angezeigt oder ob Whitespaces und Zeilennummern dargestellt werden sollen.

Durch einen Mausklick auf einen Bereich, der durch einen schwarzen seitwärts gerichteten Pfeil dargestellt wird, kann diejenige Texteinheit in das gegenüberliegende Fenster kopiert werden. Effizienter ist es oft, mit Alt + ↑ oder Alt + ↓ zum nächsten Unterschied zu gelangen und dann mit Alt + → bzw. Alt + ← den Textbereich hinüberzukopieren.

Die zwei Dateifenster sind vollwertige Texteditorbereiche. Man kann die Dateien bearbeiten, in ihnen suchen und auch ersetzen.

Aufruf über ein Terminal

Alternativ kann Meld über ein Terminal [2] gestartet werden. Die zu vergleichenden Verzeichnisse oder Dateien werden als Argument übergeben:

meld /Pfad/zu/Mein_Verzeichnis_1/ /Pfad/zu/Mein_Verzeichnis_2/ 

Einstellungen

Über "Bearbeiten → Einstellungen" stehen vielfältige Möglichkeiten zur Anpassung an die eigenen Bedürfnisse zur Verfügung. Die nebenstehende Abbildung zeigt beispielhaft einige dieser Optionen.

Problembehebung

Kann keine Ordner vergleichen

Möchte man nicht nur Dateien, sondern auch Verzeichnisse miteinander vergleichen, so ist Diffuse das falsche Werkzeug. Das Programm Meld hingegen unterstützt diese Funktion.

Links

  1. diffuse Projektseitehttp://diffuse.sourceforge.net/index_de.html
  2. Handbuchhttp://diffuse.sourceforge.net/manual_de.html

Diffuse

Diffuse ist ein in Python geschriebenes Programm zum Vergleichen und Zusammenführen von Textdateien (vornehmlich Quellcode). Es wurde unter der GNU GPLv2 veröffentlicht und ist auch für Windows und Mac OS X erhältlich.

Diffuse kann eine beliebige Anzahl von Dateien vergleichen und gibt dem Benutzer die Möglichkeit, die Dateien manuell zu bearbeiten. Diffuse unterstützt das Einfügen von Dateien durch "Copy & Paste" und zudem eine Vielzahl von Versionsverwaltungen (Bazaar, Git, Mercurial, Subversion, Darcs, Monotone, RCS, SVK).

Außerdem wird die Syntax für mehr als 20 Programmiersprachen hervorgehoben.

Grafisch

Der Aufbau des Programm gliedert sich in 6 Teile. Oben, unter der Menüleiste, befindet sich die globale Werkzeugleiste. Von links nach rechts:

* Zwei Schaltflächen zum Öffnen eines neuen Tabs zum Vergleichen von 2 oder 3 Dateien
  • Schaltfläche zum neu ausrichten
  • Vier Tasten zum Navigieren zwischen den Unterschieden im Dokument
  • Diverse Schaltflächen zum Zusammenführen
  • Schalttasten für Rückgängig oder Wiederholen von Änderungen
  • Ausschneiden, Kopieren, Einfügen
  • Schaltfläche zum Rücksetzen aller Änderungen
Datei:Grafik29.png

Unter der globalen Werkzeugleiste befindet sich, falls nötig, eine Leiste mit Reitern (Tabs) der geöffneten Vergleiche. Unter dieser befinden sich die lokalen Werkzeugleisten eines Dokumentes mit Schaltflächen zum Öffnen, Speichern und Laden, sowie dem absoluten Pfad der Datei.

Darunter befindet sich der wichtigste Teil, das Textfeld, welches neben Zeilennummern und Steuerzeichen noch eine komfortable Navigationsleiste an der rechten Seite bietet. In dieser werden je nach Änderungsart rote oder grüne Bereiche gezeichnet, so dass eine schnelle Navigation gewährleistet ist.

Unter dem Textfeld befinden sich die lokalen Statusleisten, welche aktuelle Zeilennummer, den markierten Bereich, sowie Zeichenkodierung und Art des Zeilenumbruchs anzeigen.

Hierunter befindet sich die globale Statusleiste, in der Tipps und weitere Informationen angezeigt werden.

Markierungsmodi

Diffuse hat zwei Modi zum Markieren von Text. Mit dem Standardmodi kann man zeilenweise Textblöcke markieren, um diese dann über die einzelnen Optionen im Kontextmenü oder der Werkzeugleiste mit den entsprechenden Änderungen in den anderen Dokumenten zusammenzuführen oder von diesen zu Isolieren.

Der zweite Modus kann über das Doppelklicken mit der linken Maustaste oder Enter drücken aktiviert werden. In diesem ist es möglich Text zeichenweise zu markieren und den Text ganz normal wie in jedem Texteditor zu bearbeiten. Um wieder in den ersten Modi zu gelangen genügt das Drücken der Esc-Taste.

Kommandozeile

Es ist möglich, Diffuse beim Start in einem Terminal-Fenster [2] oder auf der Konsole einige Parameter zu übergeben. Im Folgenden wird näher darauf eingegangen.

Hinweis

Öffnet man Diffuse mit nur einer Datei, so wird die linke Spalte frei gelassen. Bei mehr als zwei Dateien werden dementsprechend zwei Ansichten geöffnet. Für derlei Ansichten gibt es keine Beschränkungen seitens des Programms. Es ist möglich, 20 Dateien und mehr zu vergleichen. Die Ansichten werden dann jedoch (je nach Fenstergröße) sehr schmal.

Möchte man einen Satz von drei Dateien öffnen, so kann man dies über folgenden Befehl tun:

diffuse DATEI1 DATEI2 DATEI3  

Um lokale Änderungen oder Konflikte beim Zusammenführen zu überprüfen, verwendet man den Befehl:

diffuse -m 

Zum Vergleichen spezifischer Revisionen verwendet man:

diffuse -r REVISION1 -r REVISION2 DATEI

Eine Revision überprüft man mit folgendem Befehl:

diffuse -c rev 

Datei:Grafik30.png

BeeDiff

BeeDiff ist ein Programm mit grafischer Oberfläche zum Vergleich und zusammenführen von Dateien.

BeeDiff zweigt zwei Dateien nebeneinander und hebt Unterschiede farblich hervor. Operation buttons (such as merge and remove) are located directly inside the compared texts in appropriate positions. Das Programm ist benutzerfreundlich, einfach und effizient.

Datei:Grafik2.png

Seiten in der Kategorie „Linux/Datei/Vergleich“

Folgende 10 Seiten sind in dieser Kategorie, von 10 insgesamt.