Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ egrep(1) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

ed(1)

fgrep(1)

grep(1)

sed(1)

sh(1)

expressions(5)

egrep(1)                                                           egrep(1)

NAME
     egrep - Muster suchen (extended grep)

SYNTAX
     egrep [option ...] [musterliste] [datei ...]

BESCHREIBUNG
     egrep liest Zeilen aus einer oder mehreren Dateien oder von der Stan-
     dardeingabe und vergleicht die Zeilen mit den angegebenen Mustern. Ist
     mittels Optionen nichts anderes angegeben, schreibt egrep alle Zeilen,
     die zu einem der Muster passen, auf die Standardausgabe.

     Als Muster können Sie erweiterte reguläre Ausdrücke angeben [siehe
     expressions(5)].

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

     Die Muster, mit denen egrep die Eingabezeilen vergleichen soll, geben
     Sie entweder über musterliste oder über die Option -e musterliste oder
     über die Option -f musterdatei an. Mindestens eines dieser drei Argu-
     mente müssen Sie angeben, mehrere zusammen sind erlaubt. Wenn Sie meh-
     rere dieser Argumente angeben, werden diese mit einem logischen ODER
     kombiniert.

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

     Keine Option angegeben:
          egrep gibt alle Zeilen aus, die zu mindestens einem der in
          musterliste angegebenen Muster passen. Geben Sie mehrere Eingabe-
          dateien an, dann wird jeder Ausgabezeile der Name der Datei vor-
          angestellt, 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 od(1), Argument
          offset].

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








Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

egrep(1)                                                           egrep(1)

     -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 egrep die Eingabezeilen vergleichen soll. Sie
          können mehrere Optionen -e angeben.

     -f musterdatei
          (f - file) egrep liest die Musterliste aus der Datei musterdatei.
          Jede Zeile von musterdatei wird als ein erweiterter regulärer
          Ausdruck interpretiert. Sie können mehrere Optionen -f angeben.

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

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

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

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

     -q   (q - quiet) egrep gibt nichts aus, sondern liefert nur den ent-
          sprechenden Endestatus zurück.

     -v   (v - vice versa) egrep gibt alle Zeilen aus, die zu keinem der
          angegebenen Muster passen.

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

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

          Zusammen mit Option -q: egrep liefert nur den entsprechenden
          Endestatus zurück.

     -x   (x - exact) egrep gibt nur solche Zeilen aus, die eines der ange-
          gebenen Muster und sonst keine weiteren Zeichen enthalten.






Seite 2                      Reliant UNIX 5.44               Gedruckt 11/98

egrep(1)                                                           egrep(1)

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

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

          Zusammen mit Option -q: egrep liefert nur den entsprechenden
          Endestatus zurück.

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

     musterliste
          Liste von erweiterten regulären Ausdrücken, mit denen egrep die
          Eingabezeilen vergleichen soll [siehe expressions(5)]. Die regu-
          lären Ausdrücke trennen Sie durch Neue-Zeile-Zeichen. Ein Neue-
          Zeile-Zeichen in musterliste wird wie ein senkrechter Strich |
          (Zeichen für die Alternative) in einem erweiterten regulären Aus-
          druck interpretiert (logisches ODER).

          Reguläre Ausdrücke der Form (r|s) können Sie auch ohne Klammern
          angeben: r|s (siehe Beispiel 1).

          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 egrep durchsuchen soll. Pro Aufruf können Sie
          mehrere Dateinamen angeben.

          datei nicht angegeben: egrep 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 erwei-
     terten regulären Ausdrücken keine Sonderbedeutung und werden deshalb
     auch nicht von egrep verarbeitet. egrep verhält sich wie grep -E.


Seite 3                      Reliant UNIX 5.44               Gedruckt 11/98

egrep(1)                                                           egrep(1)

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.

     LCCOLLATE beeinflußt die Sortierreihenfolge.

     LCCTYPE bestimmt die Zeichenklassen und die Zeichenkonvertierung
     (Option -i/-y).

     Wenn LCMESSAGES, LCCOLLATE oder LCCTYPE nicht oder als leere Zei-
     chenkette definiert 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 alle 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









Seite 4                      Reliant UNIX 5.44               Gedruckt 11/98

egrep(1)                                                           egrep(1)

     Beispiel 1

     Zeilen ausgeben, die zu einem Muster passen (keine Option und Option
     -i):

     $ egrep 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:

     $ egrep -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

     Kompliziertere Muster stellen Sie mit Hilfe von regulären Ausdrücken
     dar, z. B. Zeilen ausgeben, die die Zeichenkette Holzinger oder
     Wanninger enthalten:

     $ egrep '(Holz|Wann)inger' 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

     Statt des regulären Ausdrucks (Holz|Wann)inger können Sie auch den
     folgenden regulären Ausdruck angeben:

     (Holzinger|Wanninger)

     Hier können Sie die Klammern weglassen:

     Holzinger|Wanninger

     Statt des senkrechten Strichs im letzten Ausdruck Holzinger|Wanninger
     können Sie auch ein Neue-Zeile-Zeichen angeben (siehe Beispiel 2).

     Beispiel 2

     Mehrere Muster angeben (keine Option und Option -f):

     $ egrep '^1
     > 1$' kunden1 kunden2
     kunden1:120387   1240.25   3 LE  Art.  023   Fa. Wanninger
     kunden1:180588    330.87   1 LE  Art.  332   Fa. Wanninger
     kunden2:hinterhuber berta, rosenheim, zugspitzstr.1

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

     $ egrep -f namen kunden1 kunden2


Seite 5                      Reliant UNIX 5.44               Gedruckt 11/98

egrep(1)                                                           egrep(1)

     Dasselbe Ergebnis erhalten Sie, wenn Sie das Neue-Zeile-Zeichen, das
     die Muster ^1 und 1$ trennt, durch einen senkrechten Strich ersetzen:

     $ egrep '^1|1$' kunden1 kunden2

     Beispiel 3

     Zeilen ausgeben, die zu keinem der angegebenen Muster passen (Option
     -v):

     $ egrep -v '^1
     > 1$' kunden1 kunden2
     kunden1:080685    999.98  20 LE  Art.  038   Fa. Holzinger
     kunden2:wanninger herbert, muenchen 5, kirschstr.3

     Mit obigem Aufruf erhalten Sie also alle Zeilen, die weder mit 1
     beginnen noch mit 1 enden. Dasselbe Ergebnis erhalten Sie mit folgen-
     dem Aufruf (siehe Beispiel 2):

     $ egrep -v '^1|1$' kunden1 kunden2

     Beispiel 4

     Anzahl der gefundenen Zeilen ausgeben (Option -c):

     Zuerst soll für jede Eingabedatei die Anzahl der Zeilen, die mit einer
     1 beginnen, ausgegeben werden.

     $ egrep -c '^1' kunden1 kunden2
     kunden1:2
     kunden2:0

     Nun soll die Anzahl der Zeilen, die nicht mit einer 1 beginnen, ausge-
     geben werden.

     $ egrep -c -v '^1' kunden1 kunden2
     kunden1:1
     kunden2:2

     Beispiel 5

     Nur Dateinamen ausgeben (Option -l):

     Zuerst sollen die Namen der Dateien, die Zeilen mit einer 1 am Anfang
     enthalten, ausgegeben werden.

     $ egrep -l '^1' kunden1 kunden2
     kunden1

     Nun sollen die Namen der Dateien, die Zeilen ohne 1 am Anfang enthal-
     ten, ausgegeben werden.



Seite 6                      Reliant UNIX 5.44               Gedruckt 11/98

egrep(1)                                                           egrep(1)

     $ egrep -l -v '^1' kunden1 kunden2
     kunden1
     kunden2

     Beispiel 6

     Gefundene Zeilen mit Zeilennummer ausgeben (Option -n):

     $ egrep -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), fgrep(1), grep(1), sed(1), sh(1), expressions(5).







































Seite 7                      Reliant UNIX 5.44               Gedruckt 11/98

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