Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ uniq(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

comm(1)

sort(1)

uniq(1)                                                             uniq(1)

NAME
     uniq - Mehrfache Zeilen suchen (unique lines)

SYNTAX
     uniq [option ...] [eingabedatei [ausgabedatei]]

BESCHREIBUNG
     uniq sucht in einer Datei nach aufeinanderfolgenden gleichen Zeilen,
     schreibt die Datei auf die Standardausgabe und läßt dabei die Wieder-
     holungen weg. Nur bei aufeinanderfolgenden Zeilen können Übereinstim-
     mungen festgestellt werden, d. h. die Eingabedatei muß sortiert sein.

OPTIONEN
     Die Optionen -c, -d und -u dürfen nicht gleichzeitig angegeben werden.

     Keine Option angegeben:
          eingabedatei wird ausgegeben und Wiederholungen werden weggelas-
          sen.

     -c   Alle Zeilen werden ohne Wiederholungen mit einer Dezimalzahl am
          Zeilenanfang ausgegeben. Die Zahl gibt an, wie oft die entspre-
          chende Zeile in eingabedatei nacheinander vorkommt. Die Zahl
          steht rechtsbündig bis Spalte 4, der Zeileninhalt beginnt in
          Spalte 6. uniq ignoriert zusätzlich gesetzte Optionen -u oder -d.

     -d   Nur die in eingabedatei mehrfach vorkommenden Zeilen werden
          jeweils einmal ausgegeben.

     -f m Die ersten m Felder ab Zeilenanfang, zusammen mit vor einem Feld
          stehenden Tabulator- oder Leerzeichen, werden beim Vergleichen
          der Zeilen nicht berücksichtigt. Ein Feld ist eine nichtleere
          Zeichenfolge, die durch ein Tabulator- oder Leerzeichen vom Nach-
          barfeld getrennt ist.

          Dies entspricht der alten Option -m, die weiterhin unterstützt
          wird, jedoch nicht mit der neuen Syntax (-f oder -s) vermischt
          werden darf.

          -f nicht angegeben:

          Die Zeilen werden ab Zeilenanfang bzw. ab Zeichen n+1 (Option -s)
          verglichen.

     -s n Die ersten n Zeichen ab Zeilenanfang werden beim Vergleichen der
          Zeilen nicht berücksichtigt.

          Wird die Option -s zusammen mit der Option -f verwendet, so wer-
          den die ersten n Zeichen nach dem m-ten Feld beim Vergleich nicht
          berücksichtigt. Leerzeichen nach dem m-ten Feld werden nicht
          ignoriert, sondern müssen im Wert n berücksichtigt werden.





Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

uniq(1)                                                             uniq(1)

          Dies entspricht der alten Option +n, die weiterhin unterstützt
          wird, jedoch nicht mit der neuen Syntax (-f oder -s) vermischt
          werden darf.

          -s nicht angegeben:

          Die Zeilen werden ab Zeilenanfang bzw. ab Anfang von Feld m+1
          (Option -f) verglichen.

     -u   Nur die Zeilen werden ausgegeben, die in eingabedatei nicht wie-
          derholt vorkommen.

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

     eingabedatei
          Name der Datei, die untersucht werden soll. Wenn Sie für
          eingabedatei einen Bindestrich - angeben, liest uniq von der
          Standardeingabe.

          eingabedatei nicht angegeben: uniq liest von der Standardein-
          gabe.

     ausgabedatei
          Name der Datei, in welche die Ausgabe geschrieben werden soll.
          Wenn Sie für ausgabedatei einen Bindestrich - angeben, schreibt
          uniq auf die Standardausgabe.

          ausgabedatei nicht angegeben: uniq schreibt auf die Standardaus-
          gabe.

INTERNATIONALE UMGEBUNG
     Die Umgebungsvariable LCMESSAGES bestimmt die Sprache der Meldungs-
     texte.

     LCCTYPE bestimmt die Zeichenklassen und die Zeichenkonvertierung.

     Wenn LCMESSAGES oder LCCTYPE nicht oder als leere Zeichenkette defi-
     niert ist, wird der Wert von LANG als Standardwert für die jeweils
     nicht gesetzte oder leere Variable 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.

     Hat eine der Variablen für die internationale Umgebung einen ungülti-
     gen Wert, verhält sich das System so, als wäre keine Variable gesetzt.





Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

uniq(1)                                                             uniq(1)

BEISPIELE
     Beispiel 1

     Sie möchten eine Datei nach gleichen Zeilen durchsuchen, unabhängig
     davon, wo diese in der Datei stehen. Für jede dieser Zeilen ist auszu-
     geben, wie oft sie vorkommt.

     $ sort datei | uniq -c

     Beispiel 2

     Sie möchten die 10 häufigsten Wörter der Datei text ausgeben lassen.

     $ cat text | sed 's/[      ][      ]*/\
     > /g' | sed '/^$/d' | sort | uniq -c | sort -rn | head

     Erläuterung:

     -  Der erste sed-Aufruf erzeugt aus text eine Liste aller Wörter,
        indem aufeinanderfolgende Tabs oder Leerzeichen durch ein Neue-
        Zeile-Zeichen ersetzt werden. In den eckigen Klammern steht jeweils
        ein Tabulator- und ein Leerzeichen.

     -  Der zweite sed-Aufruf löscht alle Leerzeilen.

     -  sort sortiert die erzeugte Liste nach ASCII.

     -  uniq -c entfernt aus der sortierten Liste mehrfache Zeilen und
        schreibt vor alle übriggebliebenen Zeilen die Häufigkeit ihres Auf-
        tretens.

     -  sort -rn sortiert diese Häufigkeitsliste rückwärts, d. h. die häu-
        figste Zeile steht in der ersten, die seltenste in der letzten
        Zeile.

     -  head gibt die ersten 10 Zeilen der Liste aus.

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















Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

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