Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fgrep(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

egrep(1)

grep(1)

sed(1)

sh(1)

fgrep(1)                                                           fgrep(1)

NAME
     fgrep - Zeichenketten suchen (fixed grep)

SYNTAX
     fgrep [option ...] [musterliste] [datei ...]

BESCHREIBUNG
     fgrep liest Zeilen aus einer oder mehreren Dateien oder von der Stan-
     dardeingabe und durchsucht die Zeilen nach Zeichenketten. Ist mittels
     Optionen nichts anderes angegeben, so schreibt fgrep alle Zeilen, die
     eine der angegebenen Zeichenketten enthalten, auf die Standardausgabe.

     Geben Sie mehrere Eingabedateien an, dann wird jeder Ausgabezeile der
     Name der betreffenden Datei vorangestellt.

     Die Zeichenketten, nach denen fgrep suchen soll, geben Sie entweder
     über musterliste oder über die Option -e musterliste oder über die
     Option -f musterdatei an. Eines dieser drei Argumente müssen Sie ange-
     ben, mehrere zusammen sind nicht erlaubt.

OPTIONEN
     Die Optionen -c und -l schließen sich gegenseitig aus.

     Keine Option angegeben:
          fgrep gibt alle Zeilen aus, die mindestens eine der in musterli-
          ste angegebenen Zeichenketten enthalten. Geben Sie mehrere Einga-
          bedateien an, dann wird jeder Ausgabezeile der Name der Datei
          vorangestellt, aus der die Zeile gelesen wurde.

     -b   (b - block) Jeder Ausgabezeile wird die Nummer des Blocks voran-
          gestellt, in dem sie enthalten ist.

          Die Blöcke, aus denen eine Datei besteht, sind je 512 Byte groß
          und werden, mit 0 beginnend, durchnumeriert.

          Option -b kann hilfreich sein, wenn die Nummern von Blöcken nach
          dem Kontext ermittelt werden sollen [siehe z. B. das Kommando
          od(1), Argument offset].

     -c   (c - count) fgrep gibt nur die Anzahl der gefundenen Zeilen aus
          (das sind die Zeilen, die fgrep ohne die Option -c ausgeben
          würde, siehe Beispiel 4); die Zeilen selbst werden nicht ausgege-
          ben.

     -e musterliste
          (e - expression) Gleichbedeutend mit musterliste. Die Option -e
          sollten Sie immer angeben, wenn der erste Ausdruck in musterliste
          mit einem Bindestrich - beginnt. Zusammen mit -e wird eine solche
          Musterliste nicht als Option interpretiert, sondern als Liste von
          Mustern, mit denen fgrep die Eingabezeilen vergleichen soll.





Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

fgrep(1)                                                           fgrep(1)

     -f musterdatei
          (f - file) fgrep liest die Suchzeichenketten aus der Datei
          musterdatei. Jede Zeile von musterdatei wird als eine Zeichen-
          kette interpretiert.

     -i   (i - ignore) fgrep unterscheidet beim Vergleich nicht zwischen
          Groß- und Kleinbuchstaben.

     -h   (h - hidden) Beim Durchsuchen mehrerer Eingabedateien unterläßt
          fgrep die Voranstellung der Dateinamen vor jeder Ausgabezeile.

     -l   (l - list) fgrep gibt nur die Namen der Dateien aus, die minde-
          stens eine der gefundenen Zeilen enthalten (das sind die Zeilen,
          die fgrep ohne die Option -l ausgeben würde, siehe Beispiel 5).
          Jeder Dateiname wird nur einmal ausgegeben. Die Zeilen selbst
          gibt fgrep nicht aus.

     -n   (n - number lines) Jeder Ausgabezeile wird die Zeilennummer aus
          der betreffenden Eingabedatei vorangestellt, wobei von 1 an nume-
          riert wird. Liest fgrep von der Standardeingabe, bezieht sich die
          Zeilennummer auf die Standardeingabe.

     -r   (r - recursive) Jeder Dateiname, der ein Verzeichnisname ist,
          wird rekursiv durchsucht. Das bedeutet, das alle Dateien und Ver-
          zeichnisse, die in diesem Verzeichnis enthalten sind, berücksich-
          tigt werden.

     -v   (v - vice versa) fgrep gibt alle Zeilen aus, die keine der ange-
          gebenen Zeichenketten enthalten.

          Zusammen mit Option -c: fgrep gibt nur die Anzahl solcher Zeilen
          aus.

          Zusammen mit Option -l: fgrep gibt nur die Namen der Dateien aus,
          die solche Zeilen enthalten.

     -x   (x - exact) fgrep gibt nur solche Zeilen aus, die eine der ange-
          gebenen Zeichenketten und sonst keine weiteren Zeichen enthalten.

          Zusammen mit Option -c: fgrep gibt nur die Anzahl solcher Zeilen
          aus.

          Zusammen mit Option -l: fgrep gibt nur die Namen der Dateien aus,
          die solche Zeilen enthalten.

     -y   (y - ignore) fgrep unterscheidet beim Vergleich nicht zwischen
          Groß- und Kleinbuchstaben.

     --   Ende der Optionenliste. Die Angabe ist nötig, wenn das erste
          Argument mit - beginnt.




Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

fgrep(1)                                                           fgrep(1)

     musterliste
          Liste von Zeichenketten, mit denen fgrep die Eingabezeilen ver-
          gleichen soll. Die Zeichenketten trennen Sie durch Neue-Zeile-
          Zeichen. Ein Neue-Zeile-Zeichen in musterliste wirkt wie ein
          logisches ODER.

          Enthält musterliste Neue-Zeile-Zeichen oder sonstige Zeichen, die
          für die Shell eine Sonderbedeutung haben, dann schließen Sie
          musterliste in Hochkommas ein: 'musterliste'.

     datei
          Name der Datei, die fgrep durchsuchen soll. Pro Aufruf können Sie
          mehrere Dateinamen angeben.

          datei nicht angegeben: fgrep liest die Eingabezeilen von der
          Standardeingabe.

   grep, fgrep und egrep

     Die Kommandos grep, fgrep und egrep sind von der Oberfläche her weit-
     gehend identisch. Im folgenden sind die wichtigsten Unterschiede zwi-
     schen diesen Kommandos aufgeführt.

     grep verarbeitet einfache reguläre Ausdrücke, falls nicht die Optionen
     -E oder -F angegeben sind.

     fgrep verarbeitet nur Zeichenketten. fgrep kann effizient sehr viele
     Zeichenketten suchen: fgrep sucht jede einzelne Zeile nach allen Zei-
     chenketten ab. fgrep verhält sich weitgehend wie grep -F.

     egrep verarbeitet erweiterte reguläre Ausdrücke. Diese umfassen u. a.
     die einfachen regulären Ausdrücke bis auf folgende Ausnahme: Die ein-
     fachen regulären Ausdrücke \(regausdruck\) und \{...\} haben bei
     erweiterten regulären Ausdrücken keine Sonderbedeutung und werden des-
     halb auch nicht von egrep verarbeitet. egrep verhält sich wie grep -E.

ENDESTATUS
     0   Zeilen gefunden

     1   keine Zeile gefunden

     >1  Syntaxfehler oder "Datei kann nicht geöffnet werden". Dieser Ende-
         status gilt auch dann, wenn in anderen Eingabedateien Zeilen
         gefunden wurden.

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

     LCCTYPE bestimmt die Zeichenklassen und die Zeichenkonvertierung.




Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

fgrep(1)                                                           fgrep(1)

     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.

     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.

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

BEISPIELE
     Grundlage für die Beispiele sind die Dateien kunden1 und kunden2. Sie
     haben folgenden Inhalt:

     kunden1:

     080685    999.98  20 LE  Art.  038   Fa. Holzinger
     120387   1240.25   3 LE  Art.  023   Fa. Wanninger
     180588    330.87   1 LE  Art.  332   Fa. Wanninger

     kunden2:

     hinterhuber berta, rosenheim, zugspitzstr.1
     wanninger herbert, muenchen 5, kirschstr.3

     Beispiel 1

     Zeilen ausgeben, die eine bestimmte Zeichenkette enthalten (keine
     Option und Option -i):

     $ grep Wanninger kunden1 kunden2
     kunden1:120387   1240.25   3 LE  Art.  023   Fa. Wanninger
     kunden1:180588    330.87   1 LE  Art.  332   Fa. Wanninger

     Wenn Sie auch Zeilen mit kleingeschriebenem wanninger ausgeben lassen
     möchten, geben Sie ein:

     $ fgrep -i wanninger kunden1 kunden2
     kunden1:120387   1240.25   3 LE  Art.  023   Fa. Wanninger
     kunden1:180588    330.87   1 LE  Art.  332   Fa. Wanninger
     kunden2:wanninger herbert, muenchen 5, kirschstr.3










Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

fgrep(1)                                                           fgrep(1)

     Beispiel 2

     Mehrere Zeichenketten suchen (keine Option und Option -f):

     $ fgrep 'Wanninger
     > Holzinger' kunden1 kunden2
     kunden1:080685    999.98  20 LE  Art.  038   Fa. Holzinger
     kunden1:120387   1240.25   3 LE  Art.  023   Fa. Wanninger
     kunden1:180588    330.87   1 LE  Art.  332   Fa. Wanninger

     Sie können die beiden Zeichenketten auch in eine Datei namen schreiben
     (je Zeichenkette eine Zeile) und fgrep folgendermaßen aufrufen:

     $ fgrep -f namen kunden1 kunden2

     Beispiel 3

     Zeilen ausgeben, die bestimmte Zeichenketten nicht enthalten (Option
     -v):

     $ fgrep -v Wanninger kunden1 kunden2
     kunden1:080685    999.98  20 LE  Art.  038   Fa. Holzinger
     kunden2:hinterhuber berta, rosenheim, zugspitzstr.1
     kunden2:wanninger herbert, muenchen 5, kirschstr.3

     Beispiel 4

     Anzahl der gefundenen Zeilen ausgeben (Option -c):

     Zuerst soll für jede Eingabedatei die Anzahl der Zeilen, die die Zei-
     chenkette Wanninger enthalten, ausgegeben werden.

     $ fgrep -c Wanninger kunden1 kunden2
     kunden1:2
     kunden2:0

     Nun soll die Anzahl der Zeilen, die die Zeichenkette Wanninger nicht
     enthalten, ausgegeben werden.

     $ fgrep -c -v Wanninger kunden1 kunden2
     kunden1:1
     kunden2:2

     Beispiel 5

     Nur Dateinamen ausgeben (Option -l):

     Zuerst sollen die Namen der Dateien, die die Zeichenkette Wanninger
     enthalten, ausgegeben werden.

     $ fgrep -l Wanninger kunden1 kunden2
     kunden1


Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

fgrep(1)                                                           fgrep(1)

     Nun sollen die Namen der Dateien, die Zeilen ohne die Zeichenkette
     Wanninger enthalten, ausgegeben werden.

     $ fgrep -l -v Wanninger kunden1 kunden2
     kunden1
     kunden2

     Beispiel 6

     Gefundene Zeilen mit Zeilennummer ausgeben (Option -n):

     $ fgrep -n -i wanninger kunden1 kunden2
     kunden1:2:120387   1240.25   3 LE  Art.  023   Fa. Wanninger
     kunden1:3:180588    330.87   1 LE  Art.  332   Fa. Wanninger
     kunden2:2:wanninger herbert, muenchen 5, kirschstr.3

SIEHE AUCH
     ed(1), egrep(1), grep(1), sed(1), sh(1).




































Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

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