Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ diff3(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

diff(1)

ed(1)

diff3(1)                                                           diff3(1)

NAME
     diff3 - Drei Dateien zeilenweise vergleichen (differential)

SYNTAX
     diff3 [option ...] datei1 datei2 datei3

BESCHREIBUNG
     diff3 vergleicht drei Dateien und schreibt auf die Standardausgabe, in
     welchen Zeilenbereichen sich die Dateien unterscheiden und wie sie
     ineinander überführt werden können.

OPTIONEN
     Keine Option angegeben:
          Für nicht übereinstimmende Zeilenbereiche gibt diff3 eine der
          folgenden Zeichenketten aus:

          ====        alle 3 Dateien unterscheiden sich

          ====1       datei1 unterscheidet sich von datei2 und datei3

          ====2       datei2 unterscheidet sich von datei1 und datei3

          ====3       datei3 unterscheidet sich von datei1 und datei2

          Unter dieser Angabe stehen jeweils die Änderungen, die nötig
          wären, um einen bestimmten Zeilenbereich einer Datei einem
          bestimmten Zeilenbereich einer anderen Datei anzugleichen. Diese
          Änderungen werden in einem der zwei folgenden Formate ausgegeben:

          Text ändern:

          i:n1[,n2]c

          [text]

          Um die Unterschiede zu beseitigen, muß in datei i (i = 1, 2, 3)
          die Zeile n1 bzw. der Zeilenbereich n1 bis n2 geändert werden (c
          - change). text ist der zu ändernde Zeilenbereich. Unterscheiden
          sich zwei Dateien in dem betreffenden Zeilenbereich nicht, wird
          text für die Datei mit der niedrigeren Nummer i nicht ausgegeben.

          Text anfügen:

          i:na

          [text]

          Um die Unterschiede zu beseitigen, muß in datei i (i = 1, 2, 3)
          nach Zeile n Text angefügt werden (a - append). text ist der
          anzufügende Zeilenbereich. Unterscheiden sich zwei Dateien in dem
          betreffenden Zeilenbereich nicht, wird text für die Datei mit der
          niedrigeren Nummer i nicht ausgegeben.



Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

diff3(1)                                                           diff3(1)

     -e   diff3 gibt ein ed-Skript aus, das in datei1 alle Unterschiede
          zwischen datei2 und datei3 einarbeitet, die ohne Angabe einer
          Option mit ==== oder ====3 gekennzeichnet würden [siehe ed(1)].

          Vorsicht:
               Bei Textzeilen, die nur aus einem einzelnen Punkt "." beste-
               hen, wird die Option -e ignoriert.

               Beispiele:

               Inhalt von   datei1   datei2   datei3

                            aber     doch     aber
                            morgen   heute    heute

               Der Aufruf von diff3 -e erzeugt folgende Ausgabe:

               $ diff3 -e datei1 datei2 datei3
               1,2c
               aber
               heute
               .
               w
               q

               Inhalt von   datei1   datei2   datei3

                            aber     aber     aber
                                     heute    heute
                                              morgen

               Der Aufruf von diff3 -e erzeugt folgende Ausgabe:

               $ diff3 -e datei1 datei2 datei3
               1a
               heute
               morgen
               .
               w
               q

     -E   diff3 gibt ein ed-Skript aus, das in datei1 alle Unterschiede
          zwischen datei2 und datei3 einarbeitet, die ohne Angabe einer
          Option mit ==== oder ====3 gekennzeichnet würden [siehe ed(1)].

          Dabei erzeugt diff3 für die Unterschiede, die ohne Angabe einer
          Option mit ==== gekennzeichnet würden, eine erweiterte Ausgabe im
          ed-Skript. Diese Unterschiede werden entsprechend der Datei, aus
          der sie kommen, in Zeilen mit <<<<<< oder >>>>>> eingeschlossen.





Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

diff3(1)                                                           diff3(1)

     -x   diff3 gibt ein ed-Skript aus, das in datei1 alle Unterschiede
          zwischen datei2 und datei3 einarbeitet, die ohne Angabe einer
          Option mit ==== gekennzeichnet würden [siehe ed(1)].

     -X   diff3 gibt ein erweitertes ed-Skript aus, das in datei1 alle
          Unterschiede zwischen datei2 und datei3 einarbeitet, die ohne
          Angabe einer Option mit ==== gekennzeichnet würden [siehe ed(1)].

          Dabei werden diese Unterschiede entsprechend der Datei, aus der
          sie kommen, in Zeilen mit <<<<<< oder >>>>>> eingeschlossen.

     -3   diff3 gibt ein ed-Skript aus, das in datei1 alle Unterschiede
          zwischen datei2 und datei3 einarbeitet, die ohne Angabe einer
          Option mit ====3 gekennzeichnet würden [siehe ed(1)].

     datei1 datei2 datei3
          Namen der drei Dateien, die Sie vergleichen möchten.

          diff3 verarbeitet maximal 200 Unterschiede zwischen den drei
          Dateien.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte. Wenn LCMESSAGES nicht oder als leere Zeichenkette definiert
     ist, wird der Wert von LANG als Standardwert herangezogen. Ist auch
     LANG nicht oder als leere Zeichenkette definiert, verhält sich das
     System so, als wäre es nicht internationalisiert.

     Die Umgebungsvariable LCALL bestimmt die gesamte internationale Umge-
     bung. LCALL hat Vorrang vor allen anderen Umgebungsvariablen im
     Bereich der Internationalisierung.

BEISPIELE
     Sie haben drei Versionen adr1, adr2, adr3 einer Adressendatei mit fol-
     gendem Inhalt:

     Inhalt von adr1:       Inhalt von adr2:       Inhalt von adr3:

     Herr Witzig            Herr Witzig            Herr Witzig
     Lachstr. 00            Lachstr. 00            Lachstr. 00
     0000 Kicherlingen 00   0000 Kicherlingen 00   0000 Kicherlingen 00
     Tel.: 000 000          Tel.: 000 000          Tel.: 000 000

     Herr Traurig           Herr Traurig           Herr Traurig
     Traenenstr. 77         Traenenstr. 77         Traenenstr. 77
     7777 Weinhausen 77     7777 Weinhausen 77     7777 Weinhausen 77
     Tel.: 777 777          Tel.: 444 444          Tel.: 444 444







Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

diff3(1)                                                           diff3(1)

                                                   Herr Gruebel
                                                   Runzelgasse 33
                                                   3333 Faltenberg 33
                                                   Tel.: 333 333

     Beispiel 1

     Aufruf von diff3 ohne Option:

     $ diff3 adr1 adr2 adr3
     ====
     1:9c
       Tel.: 777 777
     2:9c
       Tel.: 444 444
     3:9,14c
       Tel.: 444 444

       Herr Gruebel
       Runzelgasse 33
       3333 Faltenberg 33
       Tel.: 333 333

     Beispiel 2

     Aufruf von diff3 mit Option -e:

     $ diff3 -e adr1 adr2 adr3
     9c
     Tel.: 444 444

     Herr Gruebel
     Runzelgasse 33
     3333 Faltenberg 33
     Tel.: 333 333
     .
     w
     q

     Wenn Sie die Ausgabe von diff3 -e in eine Datei script umlenken, kön-
     nen Sie mit der folgenden Kommandozeile die Änderungen in adr1 einar-
     beiten:

     $ (cat script; echo '1,$p') | ed - adr1

     Beispiel 3

     Aufruf von diff3 mit Option -3:

     $ diff3 -3 adr1 adr2 adr3




Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

diff3(1)                                                           diff3(1)

     Dieser Aufruf erzeugt keine Ausgabe, da adr1 und adr2 verschieden
     sind. diff3 -3 gibt nur dann ein ed-Skript aus, wenn es Unterschiede
     der Art ====3 gibt; in diesem Beispiel gibt es aber nur Unterschiede
     der Art ====.

DATEIEN
     /tmp/d3a*
          Datei, die diff anlegt. Sie enthält die Unterschiede zwischen
          datei1 und datei3. diff wird von diff3 aufgerufen.

     /tmp/d3b*
          Datei, die diff anlegt. Sie enthält die Unterschiede zwischen
          datei2 und datei3.

     /usr/lib/diff3prog
          Programm, das die Dateien /tmp/d3a* und /tmp/d3b* vergleicht.
          diff3 ruft dieses Programm auf.

SIEHE AUCH
     diff(1), ed(1).


































Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026