Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

comm(1)

diff(1)

cmp(1)                                                               cmp(1)

NAME
     cmp - Dateien zeichenweise vergleichen (compare)

SYNTAX
     cmp [-l] [-s] [--] datei1 datei2

BESCHREIBUNG
     Mit cmp können Sie zwei Dateien zeichenweise bzw. byteweise verglei-
     chen. Wenn es Unterschiede zwischen den beiden Dateien gibt, dann gibt
     cmp die Unterschiede auf die Standardausgabe aus.

     Wenn die beiden Dateien identisch sind, gibt cmp nichts aus.

OPTIONEN
     Keine Option angegeben:
          Wenn die Dateien identisch sind, gibt cmp nichts aus.

          Wenn sich die Dateien unterscheiden, gibt cmp die Zeichen- bzw.
          Bytenummer und die Zeilennummer des ersten Unterschieds zwischen
          datei1 und datei2 in folgender Form aus:

          datei1 datei2 differ: char zeichennummer, line zeilennummer

     -l   Alle Unterschiede werden in folgender Form ausgegeben:

          zeichennummer   zeichen(datei1)   zeichen(datei2)

          zeichennummer ist die Position der abweichenden Zeichen ab Datei-
          anfang. Dabei erhält das erste Zeichen einer Datei die Nummer 1,
          Leerzeichen werden mitgezählt. zeichennummer wird dezimal ausge-
          geben.

          zeichen sind die voneinander abweichenden Zeichen in datei1 und
          datei2. zeichen werden oktal ausgegeben. Wenn die Dateien iden-
          tisch sind, wird nichts ausgegeben.

     -s   cmp gibt nichts aus. Der Wert des Endestatus wird zurückgelie-
          fert, aber nicht automatisch am Bildschirm ausgegeben. -s darf
          nicht zusammen mit -l verwendet werden.

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn datei1 mit -
          beginnt.













Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

cmp(1)                                                               cmp(1)

     datei1 datei2
          Namen der Dateien, die Sie vergleichen wollen.

          -  Wenn Sie für datei1 den Bindestrich - angeben, dann liest cmp
             von der Standardeingabe und vergleicht Ihre Eingaben mit
             datei2.

          -  Wenn eine der beiden Dateien endet, ohne daß cmp einen Unter-
             schied feststellen konnte, dann meldet cmp mit folgendem Text,
             daß in der kürzeren Datei EOF (Dateiende) erkannt wurde:

             cmp: EOF on datei

          -  Wenn in einer von zwei sonst gleichen Dateien ein Zeichen
             fehlt, dann meldet cmp -l wegen der Verschiebung der Positio-
             nen alle folgenden Zeichen als unterschiedlich.

          -  Dem ersten Zeichen einer Datei ist als zeichennummer die 1 und
             nicht die 0 zugeordnet.

          -  Leerzeichen und Neue-Zeile-Zeichen zählen bei den zeichennum-
             mern mit.

ENDESTATUS
     0   Dateien sind identisch

     1   Dateien sind unterschiedlich

     >1  Fehler. Auf Datei kann nicht zugegriffen werden, oder Argument
         fehlt.

FEHLERMELDUNG

     cmp: cannot open datei

     Sie haben für eine Datei kein Leserecht oder eine der angegebenen
     Dateien existiert nicht.

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.






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

cmp(1)                                                               cmp(1)

BEISPIELE
     Beispiel 1

     Vergleich zweier Dateien mit Ausgabe der unterschiedlichen Zeichen und
     ihrer Position zeichennummer.

     $ echo 1 2 3 4 5 7 8 a >dat1
     $ echo 1 2 3 4 5 6 9 a >dat2
     $ cmp -l dat1 dat2
     11  67  66
     13  70  71
     $
     Beispiel 2

     Die Shell-Prozedur lösche.gl vergleicht zwei Dateien und löscht bei
     Gleichheit eine der beiden.

     if cmp -s $1 $2
     then
       rm $2
     fi

     Beim Aufruf der Prozedur mit

     $ lösche.gl dat1 dat2

     übergeben Sie dat1 und dat2 als Stellungsparameter an die Prozedur.
     cmp liefert mit der Option -s den Endestatus zurück. Wenn sein Wert
     gleich 0 ist, wird dat2 gelöscht, sonst nicht.

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






















Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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