egrep

GREP(1)                  Dienstprogramme für Benutzer                 GREP(1)



BEZEICHNUNG
       grep, egrep, fgrep - gibt Zeilen aus, die zu Suchmustern passen

ÃBERSICHT
       grep [OPTIONâ¦] MUSTER [DATEIâ¦]
       grep [OPTIONâ¦] -e MUSTER ⦠[DATEIâ¦]
       grep [OPTIONâ¦] -f MUSTERDATEI ⦠[DATEIâ¦]

BESCHREIBUNG
       grep sucht in jeder DATEI nach MUSTERN. MUSTER ist ein oder mehrere
       Muster, die durch Zeilenumbrüche getrennt sind und grep gibt jede
       Zeile aus, die auf ein Musster passt.

       Ist DATEI »-« bedeutet dies Standardeingabe. Falls keine DATEI
       angegeben ist, werden rekursive Suchen das aktuelle Verzeichnis prüfen
       und nichtrekursive Suchen die Standardeingabe lesen.

       Darüber hinaus stehen die zwei Programmvarianten egrep und fgrep zur
       Verfügung. Sie entsprechen den Aufrufen grep -E und grep -F. Diese
       Varianten sind veraltet und stehen nur noch aus Gründen der
       Abwärtskompatibilität zur Verfügung.

OPTIONEN
   Allgemeine Programminformationen
       --help zeigt Informationen zur Benutzung an und beendet das Programm.

       -V, --version
              gibt die Versionsnummer von grep und beendet das Programm.

   Wahl des Musters
       -E, --extended-regexp
              MUSTER als erweitertere regulärere Ausdrücke (extended regular
              expressions, EREs, siehe unten) interpretieren.

       -F, --fixed-strings
              MUSTER soll als feste Zeichenkette und nicht als regulärer
              Ausdruck interpretiert werden.

       -G, --basic-regexp
              MUSTER als gewöhnliche reguläre Ausdrücke (basic regular
              expressions, BREs, siehe unten) interpretieren. Das ist die
              Voreinstellung.

       -P, --perl-regexp
              Interpretiert MUSTER als regulären Perl-kompatiblen Ausdruck
              (PCRE). Diese Option ist experimentell, wenn sie mit der Option
              -z (--null-data) kombiniert wird. Es kann vorkommen, dass grep
              -P wegen nicht implementierter Funktionalitäten warnt.

   Steuerung des Abgleichs
       -e MUSTER, --regexp=MUSTER
              MUSTER als die Suchmuster verwenden. Falls diese Option mehrfach
              verwandt oder mit der Option -f (--file) kombiniert wird, wird
              nach allen übergebenen Mustern gesucht. Diese Option kann zum
              Schützen von Mustern, die mit einem »-« anfangen, verwandt
              werden.

       -f DATEI, --file=DATEI
              Liest die Suchmuster Zeile für Zeile aus DATEI ein. Falls diese
              Option mehrfach verwandt oder mit der Option -e (--regexp)
              kombiniert wird, wird nach allen übergebenen Mustern gesucht.
              Eine leere Datei enthält keine Suchmuster und erzielt deshalb
              auch keine Treffer.

       -i, --ignore-case
              Ignoriert Unterscheidungen der GroÃ-/Kleinschreibung, so dass
              Zeichen, die sich nur darin unterscheiden, jeweils auf ihr
              Gegenstück passen.

       -v, --invert-match
              Invertiert das Suchmuster, so dass alle Zeilen ausgewählt
              werden, die nicht auf MUSTER passen.

       -w, --word-regexp
              Wählt nur solche Zeilen aus, deren Treffer aus vollständigen
              Wörtern bestehen. Im Einzelnen verläuft der Test so, dass eine
              passende Zeichenkette entweder am Zeilenanfang beginnen muss
              oder auf ein Zeichen folgt, das nicht zu den Wortaufbau-Zeichen
              gehört. Ebenso muss das Ende der Zeichenkette entweder mit dem
              Zeilenende zusammenfallen oder es darf kein Wortaufbau-Zeichen
              folgen. Wortaufbau-Zeichen sind alle Buchstaben, Ziffern sowie
              der Unterstrich. Diese Option hat keinen Effekt, falls auch -x
              angegeben ist.

       -x, --line-regexp
              Wählt nur solche Zeilen aus, deren Treffer die komplette Zeile
              umfasst. Für ein Muster eines regulären Ausdrucks ist dies
              identisch zum Setzen des Musters in Anführungszeichen und dann
              Einfassen mit ^ und $.

       -y     veraltetes Synonym für -i

   Allgemeine Ausgabesteuerung
       -c, --count
              Statt die passenden Zeilen direkt anzuzeigen, wird lediglich
              ihre Anzahl pro Eingabedatei ausgegeben. Ist zusätzlich die
              Option -v, --invert-match (siehe unten) angegeben, zählt grep
              die Zeilen ohne Treffer.

       --color[=WANN], --colour[=WANN]
              SchlieÃt die gefundenen (nicht leeren) Zeichenketten, passenden
              Zeilen, Kontextzeilen, Dateinamen, Zeilennummern, Byte-Offsets
              und Separatoren (für Felder und Gruppen von Kontextzeilen) mit
              Escape-Sequenzen ein, damit diese auf dem Terminal farbig
              angezeigt werden. Die Farben werden durch die Umgebungsvariable
              GREP_COLORS definiert. Die missbilligte Umgebungsvariable
              GREP_COLOR wird weiterhin unterstützt, hat aber keine
              Priorität und sollte nicht verwendet werden. WANN kann die
              Werte never, always oder auto annehmen.

       -L, --files-without-match
              Statt der normalen Ausgabe wird der Name jeder Datei ohne
              Treffer angezeigt. Die Suche endet beim ersten Treffer.

       -l, --files-with-matches
              Statt der normalen Ausgabe wird der Name jeder Datei mit Treffer
              angezeigt. Die Suche endet beim ersten Treffer.

       -m ZAHL, --max-count=ZAHL
              Beendet das Lesen einer Datei, nachdem ZAHL passende Zeilen
              gefunden wurden. Wenn die Eingabe aus einer regulären Datei
              stammt und ZAHL passende Zeilen ausgegeben wurden, positioniert
              grep, bevor es endet, die Standardeingabe ungeachtet der
              Existenz folgender Kontextzeilen direkt hinter der letzten
              passenden Zeile. Dies ermöglicht einem aufrufenden Prozess die
              Fortsetzung der Suche. Wenn grep nach ZAHL passenden Zeilen
              endet, gibt es alle nachfolgenden Kontextzeilen aus. Wenn
              auÃerdem die Option -c (oder --count) verwendet wird, gibt grep
              als Ergebnis keine Zahl aus, die gröÃer ist als ZAHL. Wenn die
              Option -v (--invert-match verwendet wird, endet grep nach der
              Ausgabe von ZAHL nicht passenden Zeilen.

       -o, --only-matching
              Anstatt der gesamten Zeile werden nur die passenden (nicht
              leeren) Teile ausgegeben. Jeder dieser Teile wird auf einer
              eigenen Zeile ausgegeben.

       -q, --quiet, --silent
              Unterdrückt die normalen Ausgaben. Die Suche endet sofort nach
              dem ersten Treffer und gibt auch beim Auftreten von Fehlern den
              Status Null zurück. Lesen Sie auch die Beschreibung der Option
              -s oder --no-messages.

       -s, --no-messages
              Unterdrückt Fehlermeldungen über nicht existierende oder
              unlesbare Dateien.

   Präfix-Festlegung der Ausgabezeilen
       -b, --byte-offset
              Gibt vor jeder Ausgabezeile die Byte-Position in der Datei
              relativ zum Dateianfang (0) an. Wenn -o (--only-matching)
              angegeben wird, wird die Position des gefundenen Teils
              angezeigt.

       -H, --with-filename
              Gibt vor jedem Treffer den zugehörigen Dateinamen aus. Das ist
              das Standardverhalten, wenn mehr als eine Datei untersucht wird.

       -h, --no-filename
              Der Dateiname wird vor einem Treffer nicht ausgegeben. Das ist
              das Standardverhalten bei der Suche in nur einer Datei (oder nur
              in der Standardeingabe).

       --label=TEXT
              Zeigt tatsächlich aus der Standardeingabe gelesene Eingaben an,
              als seien sie aus Datei TEXT gelesen. Das ist besonders
              praktisch für die Realisierung von Werkzeugen wie zgrep, z.B.
              gzip -cd foo.gz | grep --label=foo -H irgendwas (siehe auch die
              Option -H).

       -n, --line-number
              Gibt vor jeder Zeile die Zeilennummer (gezählt ab 1) innerhalb
              der aktuellen Eingabedatei aus.

       -T, --initial-tab
              Stellt sicher, dass das erste Zeichen des eigentlichen
              Zeileninhalts auf einem Tabulatorstopp liegt, so dass die
              Ausrichtung der Tabulatoren normal aussieht. Dies ist sinnvoll
              für die Optionen, die ihrer Ausgabe einen Präfix voranstellen:
              -H, -n und -b. Um die Wahrscheinlichkeit zu vergröÃern, dass
              die Zeilen aus einer einzelnen Datei alle in der gleichen Spalte
              beginnen, bewirkt diese Option auch, dass (eventuell vorhandene)
              Zeilennummern und Byte-Offsets mit minimaler FeldgröÃe
              ausgegeben werden.

       -u, --unix-byte-offsets
              Zeigt die Byte-Positionen im Unix-Stil an. Mit Hilfe dieses
              Schalters gibt grep Byte-Positionen in Textdateien stets so aus,
              als würden sie nur ein einzelnes Zeilenumbruchsymbol am
              Zeilenende enthalten: Ein eventuelles Wagenrücklaufsymbol am
              Zeilenende wird nicht berücksichtigt. So erzeugt grep die
              gleichen Resultate wie auf einer UNIX-Maschine. Diese Option ist
              nur in Verbindung mit dem Schalter -b wirksam. Auf anderen
              Plattformen als MS-DOS und MS-Windows hat sie keine Auswirkung.

       -Z, --null
              Gibt statt des üblichen Trennzeichens nach jedem Dateinamen ein
              Nullbyte (das ASCII-Zeichen NUL) aus. So gibt beispielsweise
              grep -lZ nach jedem Dateinamen statt des gebräuchlichen
              Zeilenumbruchs ein Null-Byte aus. Mit dieser Option bleibt die
              Ausgabe selbst bei ungewöhnlichen Dateinamen, die
              beispielsweise einen Zeilenumbruch enthalten, eindeutig. Diese
              Option kann zusammen mit Befehlen wie find -print0, perl -0,
              sort -z und xargs -0 zur Verarbeitung beliebiger Dateinamen
              verwendet werden (auch solche, die Zeilenumbrüche enthalten).

   Steuerung der Kontextzeilen
       -A ZAHL, --after-context=ZAHL
              Zeigt ZAHL Kontextzeilen im Anschluss an eine auf das Muster
              passende Zeile an. Gibt eine Zeile mit einem Gruppentrennzeichen
              (--) zwischen benachbarten Gruppen von Treffern aus. Zusammen
              mit der Option -o oder --only-matching hat diese Option keine
              Auswirkung und es wird eine Warnung ausgegeben.

       -B ZAHL, --before-context=ZAHL
              Zeigt ZAHL Kontextzeilen vor einer auf das Muster passenden
              Zeile an.Gibt eine Zeile mit einem Gruppentrennzeichen (--)
              zwischen benachbarten Gruppen von Treffern aus. Zusammen mit der
              Option -o oder --only-matching hat diese Option keine Auswirkung
              und es wird eine Warnung ausgegeben.

       -C [ZAHL], -ZAHL, --context[=ZAHL]
              Zeigt je ZAHL Kontextzeilen vor und nach einer auf das Muster
              passenden Zeile an. Gibt eine Zeile mit einem
              Gruppentrennzeichen (--) zwischen benachbarten Gruppen von
              Treffern aus. Zusammen mit der Option -o oder --only-matching
              hat diese Option keine Auswirkung und es wird eine Warnung
              ausgegeben.

   Auswahl von Dateien und Verzeichnissen
       -a, --text
              Verarbeitet eine Binärdatei, als wäre sie gewöhnlicher Text;
              dieser Schalter ist gleichwertig mit --binary-files=text.

       --binary-files=TYP
              Falls die Daten oder Metadaten der Datei anzeigen, dass die
              Datei binäre Daten enthält, wird angenommen, dass die Datei
              vom Typ TYP ist. Bytes, die nicht Text sind, deuten Binärdaten
              an; diese sind entweder Ausgabebytes, die nicht korrekt für die
              aktuelle Locale kodiert wurden, oder Null-Eingabebytes, wenn die
              Option -z nicht angegeben ist.

              StandardmäÃig ist TYP binary und wenn grep erkennt, dass eine
              Datei binär ist, unterdrückt es weitere Ausgaben und gibt
              stattdessen eine einzeilige Meldung aus, die besagt, dass ein
              Treffer in einer Binärdatei ist und keine Meldung, falls es
              keinen solchen Treffer gibt.

              Falls TYP without-match ist, wenn grep erkennt, dass eine Datei
              binär ist, dann nimmt es an, dass in der restlichen Datei keine
              Treffer sind. Dies ist zu der Option -I äquivalent.

              Falls TYP text ist, verarbeitet grep eine Binärdatei, als wäre
              sie gewöhnlicher Text. Dies ist zu der Option -a äquivalent.

              Falls TYP binary ist, kann grep von Text verschiedene Bytes
              selbst ohne die Option -z als Zeilende behandeln. Das bedeutet,
              die Wahl von binary gegenüber text kann beeinflussen, ob ein
              Muster auf eine Datei passt oder nicht. Ist beispielsweise TYP
              binary, könnte das Muster q$ auf q sofort gefolgt von einem
              Null-Byte passen, selbst wenn dies nicht auf das Muster passt,
              wenn TYP text ist. Entsprechend kann das Muster . (Satzpunkt)
              nicht auf ein Null-Byte passen, wenn TYP binary ist.

              Warnung: Die Option -a könnte binären Müll ausgeben, der
              negative Seiteneffekte haben kann, falls die Ausgabe auf ein
              Terminal erfolgt und der Terminaltreiber Teile davon als Befehle
              interpretiert. Andererseits kann es nützlich sein, -a zu
              verwenden oder LC_ALL='C' in der Umgebung zu setzen, wenn Texte
              gelesen werden, deren Kodierung unbekannt ist, um weitere
              Treffer zu finden, selbst wenn die Treffer für die direkte
              Anzeige nicht sicher sind.

       -D AKTION, --devices=AKTION
              Wenn die Eingabedatei ein Gerät, ein FIFO oder ein Socket ist,
              wird sie mit AKTION verarbeitet. Die Standard-AKTION ist read.
              Das bedeutet, dass Geräte wie eine gewöhnliche Datei gelesen
              werden. Mit der AKTION skip werden Geräte stillschweigend
              ausgelassen.

       -d AKTION, --directories=AKTION
              Ist eine Eingabedatei ein Verzeichnis, wird es mit der AKTION
              verarbeitet. In der Standardeinstellung ist AKTION auf read
              gesetzt, das bedeutet, dass Verzeichnisse wie gewöhnliche
              Dateien eingelesen werden. Ist AKTION auf skip gesetzt, so
              werden Verzeichnisse stillschweigend übersprungen. Steht AKTION
              auf recurse, so werden sämtliche Dateien unterhalb jedes
              Verzeichnisses rekursiv durchsucht. Symbolische Links werden nur
              verfolgt, wenn sie auf der Befehlszeile angegeben wurden. Dies
              ist zu der Option -r äquivalent.

       --exclude=GLOB
              Ãberspringt jede Datei auf der Befehlszeile, deren
              Namenserweiterung auf das Muster GLOB mittels
              Platzhalter-Abgleich passt; eine Namenserweiterung ist entweder
              der gesamte Name oder jeder mit einem / beginnende Erweiterung
              und vor einem nicht-/. Bei der rekursiven Suche werden alle
              Unterdateien übersprungen, deren Basisname auf GLOB passt; der
              Basisname ist der Teil nach dem letzten /. Ein Muster kann *, ?
              und [â¦] als Platzhalter verwenden, und \, um ein
              buchstäbliches Platzhalter- oder
              Rückwärtsschrägstrichzeichen zu maskieren.

       --exclude-from=DATEI
              Ãberspringt Dateien, deren Dateinamen zu einem (mittels
              Platzhalter-Abgleich wie unter --exclude beschrieben) aus DATEI
              gelesenen Dateinamen-»GLOB« passen.

       --exclude-dir=GLOB
              Ãberspringt jedes Verzeichnis auf der Befehlszeile, dessen
              Namenserweiterung auf das Muster GLOB passt. Wenn Verzeichnisse
              rekursiv durchsucht werden, überspringt dies jedes
              Unterverzeichnis, dessen Basisname auf GLOB passt. Alle
              überflüssigen abschlieÃenden Schrägstriche in GLOB werden
              ignoriert.

       -I     Behandelt Binärdateien so, als würde ihr Inhalt nie auf das
              Suchmuster passen. Dies ist gleichbedeutend mit der Option
              --binary-files=without-match.

       --include=GLOB
              Durchsucht nur Dateien, deren »base names« zu (mittels
              Platzhalter-Abgleich wie unter --exclude beschrieben) »GLOB«
              passen.

       -r, --recursive
              Durchsucht sämtliche Dateien unterhalb jedes Verzeichnisses
              rekursiv. Symbolische Links werden nur verfolgt, wenn sie auf
              der Befehlszeile angegeben wurden. Wenn kein Datei-Operand
              angegeben ist, durchsucht grep das Arbeitsverzeichnis. Dies ist
              zu der Option -d recurse äquivalent.

       -R, --dereference-recursive
              Durchsucht sämtliche Dateien unterhalb jedes Verzeichnisses
              rekursiv. Allen symbolischen Links folgen, anders als -r.

   Weitere Optionen
       --line-buffered
              Verwendet bei der Ausgabe Zeilenpuffer. Das kann
              LeistungseinbuÃen bewirken.

       -U, --binary
              Verarbeitet die Datei(en) als Binärdaten. Unter MS-DOS und
              MS-Windows versucht grep herauszufinden, ob eine Datei Text oder
              binär ist, wie dies bei der Option --binary-files beschrieben
              ist. In einer von grep zu einer Textdatei erklärten Datei
              entfernt es intern alle Wagenrücklaufzeichen (CR), damit ^ und
              $ in regulären Ausdrücken korrekt funktionieren. Die Angabe
              von -U umgeht die ganze Raterei und weist grep an, jede Datei
              exakt so zu verarbeiten, wie sie eingelesen wurde. Falls es sich
              um eine Textdatei handelt, deren Zeilen mit einem kombinierten
              Wagenrücklauf und Zeilenumbruch (CR/LF) enden, arbeiten manche
              reguläre Ausdrücke fehlerhaft. Diese Option hat auf anderen
              Plattformen als MS-DOS und MS-Windows keine Auswirkungen.

       -z, --null-data
              Behandelt Ein- und Ausgabedaten als Folge von Zeilen, die jede
              mit einem Null-Byte (das Zeichen ASCII NUL) anstelle eines
              Zeilenvorschubs endet. Wie die Optionen -Z oder --null kann
              diese Option zusammen mit Befehlen wie sort -z für die
              Verarbeitung beliebiger Dateinamen eingesetzt werden.

REGULÃRE AUSDRÃCKE
       Unter einem regulären Ausdruck versteht man ein Muster, das eine Menge
       von Zeichenketten beschreibt. Reguläre Ausdrücke werden analog zu
       arithmetischen Ausdrücken aufgebaut: Sie werden mit Hilfe
       verschiedener Operatoren aus kleineren Ausdrücken zusammengesetzt.

       grep versteht drei verschiedene Klassen regulärer Ausdrücke:
       »gewöhnliche« (basic, BRE), »erweiterte« (extended, ERE) und
       »perl« (PCRE). GNU grep stellt für gewöhnliche und erweiterte
       reguläre Ausdrücke die gleiche Funktionalität bereit. In anderen
       Implementierungen steht mit gewöhnlichen regulären Ausdrücken jedoch
       nur ein eingeschränkter Funktionsumfang zur Verfügung. Die folgende
       Beschreibung bezieht sich auf erweiterte reguläre Ausdrücke; die
       Unterschiede zu gewöhnlichen regulären Ausdrücken werden im
       Anschluss daran zusammengefasst. Die Perl-kompatiblen regulären
       Ausdrücke stellen zusätzliche Funktionen bereit und sind in
       pcresyntax(3) und pcrepattern(3) dokumentiert, funktionieren aber nur,
       wenn PCRE im System verfügbar ist.

       Grundlegende Bausteine sind die regulären Ausdrücke, die auf ein
       einzelnes Zeichen passen. Die meisten Zeichen, insbesondere alle
       Buchstaben und Ziffern, sind zugleich reguläre Ausdrücke, die auf
       sich selbst passen. Alle Metazeichen, die eine besondere Bedeutung
       besitzen, können durch einen vorangestellten Rückschrägstrich
       geschützt werden.

       Der Punkt . steht für jedes einzelne Zeichen. Es ist nicht festgelegt,
       ob er auf einen Kodierfehler passt.

   Zeichenklassen und Klammerausdrücke
       Ein Klammerausdruck ist eine durch [ und ] eingeschlossene Liste von
       Zeichen. Er passt auf jedes Zeichen aus der Liste. Beginnt die Liste
       mit dem Symbol ^, so passt der Ausdruck auf alle Zeichen, die nicht in
       der Liste enthalten sind; es ist nicht spezifiziert, ob es auf einen
       Kodierfehler passt. Beispielsweise passt der reguläre Ausdruck
       [0123456789] auf eine beliebige einzelne Ziffer.

       Innerhalb eines Klammerausdrucks sind Bereichsausdrücke (range
       expressions) möglich. Ein Bereichsausdruck besteht aus zwei durch
       einen Bindestrich getrennten Zeichen. Er steht für ein einzelnes
       Zeichen einschlieÃlich der Begrenzungszeichen, das gemäà der
       Sortierreihenfolge der Locale und dem Zeichensatz zwischen den beiden
       Begrenzungszeichen liegt. Zum Beispiel ist in der Standard-Locale C
       [ad] äquivalent zu [abcd]. Viele Locales sortieren Zeichen in der
       Wörterbuch-Reihenfolge. Dort ist [ad] in der Regel nicht gleichwertig
       mit [abcd]; es wäre zum Beispiel gleichbedeutend mit [aBbCcDd]. Um die
       traditionelle Interpretation von Klammerausdrücken zu bewirken,
       können Sie die C-Locale verwenden. Dazu setzen Sie die
       Umgebungsvariable LC_ALL auf den Wert C.

       SchlieÃlich gibt es noch einige vordefinierte Zeichenklassen innerhalb
       von Klammerausdrücken mit (im Englischen) selbsterklärenden Namen.
       Das sind im Einzelnen: [:alnum:] (Buchstaben und Ziffern), [:alpha:]
       (Buchstaben), [:cntrl:] (Steuerzeichen), [:digit:] (Ziffern), [:graph:]
       (graphische Zeichen, das heiÃt [:alnum:] und [:punct:]), [:lower:]
       (Kleinbuchstaben), [:print:] (druckbare Zeichen), [:punct:]
       (Satzzeichen), [:space:] (Leerraum), [:upper:] (GroÃbuchstaben) und
       [:xdigit:] (Ziffern des Hexadezimalsystems). So bedeutet beispielsweise
       [[:alnum:]] die Zeichenklasse der Ziffern und Buchstaben in der
       aktuellen Locale. In der C-Locale und der Zeichenkodierung ASCII ist
       dies dasselbe wie [0-9A-Za-z]. (Beachten Sie, dass die eckigen Klammern
       Teil des symbolischen Namens der einzelnen Klassen sind. Zusätzlich
       dazu müssen noch die eckigen Klammern angegeben werden, die eine Liste
       von Zeichen begrenzen.) Die meisten Metazeichen verlieren innerhalb
       eines Klammerausdrucks ihre besondere Bedeutung. Um ein ] selbst zu
       beschreiben, muss es an erster Stelle der Kette gesetzt werden. Soll ^
       als gewöhnliches Zeichen auftreten, darf es nicht an erster Stelle
       stehen. Das Zeichen - selbst muss an letzter Stelle der Kette
       auftauchen.

   Setzen von Ankern
       Die Metazeichen Dach ^ und Dollar $ passen auf die leere Zeichenkette
       am Anfang beziehungsweise Ende einer Zeile.

   Das Backslash-Zeichen (Rückschrägstrich) und spezielle Ausdrücke
       Ganz ähnlich passen die Symbole \< und \> auf die leere Zeichenkette
       am Anfang beziehungsweise Ende eines Wortes. Das Symbol \b passt auf
       die leere Zeichenkette an einem Wortrand; \B bezeichnet das Gegenteil
       davon und passt auf die leere Zeichenkette, falls die sich nicht an
       einem Wortrand befindet. Das Symbol \w ist ein Synonym für
       [_[:alnum:]] und \W steht für [^_[:alnum:]].

   Wiederholungen
       Einem regulären Ausdruck können einer oder mehrere
       Wiederholungsoperatoren folgen:
       ?      Das vorhergehende Objekt ist optional und tritt höchstens
              einmal auf.
       *      Das vorhergehende Objekt tritt kein Mal oder beliebig oft auf.
       +      Das vorhergehende Objekt tritt ein- oder mehrmals auf.
       {n}    Das vorhergehende Objekt tritt genau n-mal auf.
       {n,}   Das vorhergehende Objekt tritt n-mal oder öfter auf.
       {,m}   Das vorhergehende Objekt tritt höchstens m-mal auf. Dies ist
              eine GNU-Erweiterung.
       {n,m}  Das vorhergehende Objekt tritt mindestens n- und höchstens
              m-mal auf.

   Verknüpfung
       Zwei reguläre Ausdrücke können verbunden werden. Der entstehende
       reguläre Ausdruck passt auf jede Zeichenkette, die aus zwei aneinander
       gesetzten Teilketten, die auf die zugehörigen Teilausdrücke passen,
       besteht.

   Alternativen
       Sind zwei reguläre Ausdrücke durch den Infix-Operator | verbunden, so
       passt der gesamte reguläre Ausdruck auf jede Zeichenkette, die auf
       einen der beiden Teilausdrücke passt.

   Priorität
       Wiederholungsoperatoren besitzen höhere Priorität als eine
       Aneinanderreihung. Am niedrigsten ist die Priorität der Alternative.
       Teilausdrücke können in Klammern gesetzt werden, um diese Regeln
       explizit abzuändern.

   Rückwärtsverweise und Teilausdrücke
       Die Rückwärtsreferenz \n - wobei n für eine einzelne Ziffer steht -
       steht für die Zeichenkette, die wiederum auf den vorhergehenden,
       eingeklammerten Teilausdruck Nummer n des regulären Ausdrucks passt.

   Vergleich gewöhnlicher und erweiterter regulärer Ausdrücke
       In gewöhnlichen regulären Ausdrücken besitzen die Metazeichen ?, +,
       {, }, |, ( und ) keine besondere Bedeutung. Stattdessen müssen die mit
       einem Rückschrägstrich geschützten Versionen \?, \+, \{, \}, \|, \(
       und \) verwendet werden.

UMGEBUNGSVARIABLEN
       Das Verhalten von grep wird durch die folgenden Umgebungsvariablen
       bestimmt.

       Die Locale für die Kategorie LC_foo wird durch die Untersuchung der
       drei Umgebungsvariablen LC_ALL, LC_foo und LANG (in dieser Reihenfolge)
       bestimmt. Die erste dieser Variablen, die gesetzt ist, legt die Locale
       fest. Ist beispielsweise LC_ALL nicht, dafür aber LC_MESSAGES auf
       pt_BR gesetzt, dann wird für die Kategorie LC_MESSAGES brasilianisches
       Portugiesisch verwendet. Die C-Locale wird verwendet, wenn keine dieser
       Umgebungsvariablen gesetzt ist, wenn der Locale-Katalog nicht
       installiert ist oder wenn grep ohne Unterstützung für Landessprachen
       (national language support, NLS) kompiliert wurde. Der Shell-Befehl
       locale -a zeigt die derzeit verfügbaren Locales an.

       GREP_OPTIONS
              Diese Variable legt die Standardoptionen fest, die vor jegliche
              explizite Optionen gesetzt werden sollen. Dies kann Probleme
              hervorrufen, wenn grep in portablen Skripten verwendet wird und
              wird in zukünftigen Programmversionen nicht mehr enthalten
              sein. grep gibt eine Warnung aus, wenn diese Variable verwendet
              wird. Bitte verwenden Sie stattdessen einen Alias oder ein
              Skript.

       GREP_COLOR
              Diese Variable legt die Farbe fest, mit der (nicht leere)
              Fundstellen des Suchausdrucks hervorgehoben werden. Sie ist
              veraltet, wird aber immer noch unterstützt. Verwenden Sie
              stattdessen GREP_COLORS. Die Fähigkeiten mt, ms und mc von
              GREP_COLORS werden dieser Variable im Konfliktfall vorgezogen.
              Die Variable kann nur die Farbe festlegen, mit der passender
              nicht leerer Text in jeder Zeile mit einer Fundstelle markiert
              wird (das ist eine ausgewählte Zeile, wenn die
              Befehlszeilenoption -v weggelassen wird, oder eine Kontextzeile,
              wenn -v angegeben ist). Der Standardwert ist 01;31. Er bedeutet
              roten Text in Fettdruck vor dem Standard-Hintergrund des
              Terminals.

       GREP_COLORS
              Gibt die Farben und andere Attribute an, die für Markierung
              verschiedener Elemente der Ausgabe verwendet werden. Ihr Wert
              ist eine durch Doppelpunkte getrennte Liste von Fähigkeiten,
              deren Standardwert gleich
              ms=01;31:mc=01;31:sl=:cx=:fn=35:ln=32:bn=32:se=36 ist. (Die
              booleschen Fähigkeiten rv und ne sind also weggelassen (d.h.
              auf auf false gesetzt)). Es werden die folgenden Fähigkeiten
              unterstützt.

              sl=    SGR-Teilsequenz für ganze ausgewählte Zeilen (d.h.
                     übereinstimmende Zeilen, wenn die Befehlszeilenoption -v
                     weggelassen wird oder nicht übereinstimmende Zeilen,
                     wenn -v angegeben wird). Wenn jedoch sowohl die boolesche
                     Fähigkeit rv als auch die Befehlszeilenoption -v
                     angegeben werden, gilt die Option stattdessen für
                     passende Kontextzeilen. Der Standardwert ist leer (d.h.
                     das Standard-Farbpaar des Terminals).

              cx=    SGR-Teilsequenz für ganze Kontextzeilen (d.h. nicht
                     übereinstimmende Zeilen, wenn die Befehlszeilenoption -v
                     weggelassen wird oder übereinstimmende Zeilen, wenn -v
                     angegeben wird). Wenn jedoch sowohl die boolesche
                     Fähigkeit rv als auch die Befehlszeilenoption -v
                     angegeben werden, gilt die Option stattdessen für nicht
                     passende Zeilen. Der Standardwert ist leer (d.h. das
                     Standard-Farbpaar des Terminals).

              rv     Boolescher Wert, der die Bedeutung der Fähigkeiten sl=
                     und cx= vertauscht, wenn die Befehlszeilenoption -v
                     gewählt wird. Der Standardwert ist false (d.h. die
                     Fähigkeit wird nicht genutzt).

              mt=01;31
                     SGR-Teilsequenz für passenden, nicht leeren Text in
                     jeder passenden Zeile (d.h. einer ausgewählten Zeile,
                     wenn die Befehlszeilenoption -v weggelassen wird oder
                     einer Kontextzeile, wenn -v angegeben wurde). Die Wahl
                     dieser Option ist gleichwertig mit der Wahl des gleichen
                     Wertes für ms= und mc=. Der Standardwert ist fetter
                     roter Text vor der aktuellen Hintergrundfarbe der Zeile.

              ms=01;31
                     SGR-Teilsequenz für passenden, nicht leeren Text in
                     einer ausgewählten Zeile. (Dies wird nur verwendet, wenn
                     die Befehlszeilenoption -v weggelassen wird.) Die Wirkung
                     der Fähigkeit sl= (oder cx=, wenn rv gesetzt ist) bleibt
                     aktiv, wenn diese auftritt. Der Standardwert ist ein
                     fetter roter Text vor dem aktuellen Zeilenhintergrund.

              mc=01;31
                     SGR-Teilsequenz für passenden, nicht leeren Text in
                     einer Kontextzeile. (Dies wird nur verwendet, wenn die
                     Befehlszeilenoption -v gewählt wird.) Die Wirkung der
                     Fähigkeit cx= (oder sl=, wenn rv gesetzt ist) bleibt
                     aktiv, wenn diese sich aktivieren. Der Standardwert ist
                     ein fetter roter Text vor dem aktuellen
                     Zeilenhintergrund.

              fn=35  SGR-Teilsequenz für Dateinamen, die beliebigen
                     Kontextzeilen vorausgehen. Standard ist ein violetter
                     Textvordergrund vor dem Standardhintergrund des
                     Terminals.

              ln=32  SGR-Teilsequenz für Zeilennummern, die beliebigen
                     Kontextzeilen vorausgehen. Standard ist ein grüner
                     Textvordergrund vor dem Standardhintergrund des
                     Terminals.

              bn=32  SGR-Teilsequenz für »Byte Offsets«, die beliebigen
                     Kontextzeilen vorausgehen. Standard ist ein grüner
                     Textvordergrund vor dem Standardhintergrund des
                     Terminals.

              se=36  SGR-Teilsequenz für Separatoren, die zwischen die Felder
                     für ausgewählte Zeilen (:), für Kontextzeilen (-) und
                     zwischen Gruppen von benachbarten Zeilen (wenn ein von
                     Null verschiedener Kontext gewählt wurde (--))
                     eingefügt werden. Der Standardwert ist ein blaugrüner
                     (cyan) Textvordergrund vor dem Standardhintergrund des
                     Terminals.

              ne     Boolescher Wert, der das Löschen bis zum Zeilenende
                     mittels »Erase in Line (EL) to Right« (\33[K)
                     verhindert, wenn ein eingefärbtes Element endet. Er wird
                     für Terminals benötigt, die EL nicht unterstützten.
                     Ansonsten ist er nützlich für Terminals, für die die
                     boolesche Terminfo-Fähigkeit back_color_erase (bce)
                     nicht gilt, wenn die gewählten Markierungsfarben nicht
                     den Hintergrund beeinflussen oder wenn EL zu langsam ist
                     oder zu viel Flackern verursacht. Der Standardwert ist
                     false (d.h. die Fähigkeit wird weggelassen).

              Beachten Sie, dass boolesche Fähigkeiten keinen =â¦-Teil
              aufweisen. Sie werden per Vorgabe weggelassen (d.h. auf false
              gesetzt) und werden aktiviert, wenn sie angegeben werden.

              Im Abschnitt »Wahl der grafischen Darstellung« (Select Graphic
              Rendition, SGR) der Dokumentation des Textterminals finden Sie
              zulässige Werte und ihre Bedeutung als Zeichenattribute. Diese
              Teilzeichenkettenwerte sind ganze Zahlen in Dezimaldarstellung
              und können mit einem Semikolon verbunden werden. grep erzeugt
              aus dem Ergebnis eine vollständige SGR-Sequenz (\33[â¦m).
              Gebräuchliche Bestandteile der Sequenz sind 1 für fett, 4 für
              unterstrichen, 5 für blinken, 7 für inverse Darstellung, 39
              für Standard-Vordergrundfarbe, 30 bis 37 für die Farben im
              Vordergrund, 90 bis 97 für Vordergrundfarben im
              16-Farben-Modus, 38,5,0 bis 38,5,255 für Vordergrundfarben in
              den 88-Farben- und 256-Farben-Modi, 49 für die
              Standard-Hintergrundfarbe, 40 bis 47 für Hintergrundfarben, 100
              bis 107 für Hintergrundfarben im 16-Farben-Modus und 48,5,0 bis
              48,5,255 für Hintergrundfarben in den 88-Farben- und
              256-Farben-Modi.

       LC_ALL, LC_COLLATE, LANG
              Diese Variablen legen die Locale für die Kategorie LC_CTYPE
              fest. Sie bestimmt die Sortierreihenfolge, mit der Ausdrücke
              zur Angabe eines Bereichs wie beispielsweise [a-z] ausgewertet
              werden.

       LC_ALL, LC_CTYPE, LANG
              Diese Variablen legen die Locale für die Kategorie LC_CTYPE
              fest, die die Art der Zeichen festlegt, z.B. welche Zeichen
              Leerraumzeichen sind. Diese Kategorie bestimmt auch die
              Zeichenkodierung, d.h. ob Text in UTF-8, ASCII oder einer
              anderen Kodierung vorliegt. In der C- oder POSIX-Locale sind
              alle Zeichen als einzelnes Byte kodiert und jedes Byte ist ein
              gültiges Zeichen.

       LC_ALL, LC_MESSAGES, LANG
              Diese Variablen wählen die Locale für die Kategorie
              LC_MESSAGES. Diese legt fest, in welcher Sprache grep seine
              Meldungen ausgibt. Die Standard-Locale C verwendet Meldungen in
              amerikanischem Englisch.

       POSIXLY_CORRECT
              Falls gesetzt, verhält sich grep strikt nach dem
              POSIX-Standard. Anderenfalls ähnelt sein Verhalten eher dem
              anderer GNU-Programme. POSIX verlangt von Optionen, die nach
              einem Dateinamen angegeben sind, dass sie als Dateinamen
              behandelt werden. Normalerweise behandelt grep sie immer als
              Optionen, gleichgültig an welcher Stelle sie auftreten. Ferner
              verlangt POSIX, unbekannte Optionen als »unzulässig«
              anzuzeigen. In den Standardeinstellungen meldet grep sie
              lediglich als »ungültig«'. POSIXLY_CORRECT deaktiviert auch
              _N_GNU_nonoption_argv_flags_, das im Folgenden genauer
              beschrieben wird.

       _N_GNU_nonoption_argv_flags_
              (Hier ist N die numerische Kennung des grep-Prozesses.) Falls
              das i-te Zeichen dieser Umgebungsvariablen den Wert 1 hat, wird
              das i-te Argument von grep nicht als Option verarbeitet, selbst
              wenn es wie eine Option aussieht. Ein Befehlszeileninterpreter
              kann diese Umgebungsvariable für jeden von ihm ausgeführten
              Befehl setzen, um anzuzeigen, welche der Argumente durch
              Ersetzung von Platzhaltern Mustererkennung von Dateinamen
              erzeugt worden sind und deshalb keinesfalls als Optionen
              berücksichtigt werden sollen. Dieses Verhalten steht nur in
              Verbindung mit der GNU-C-Bibliothek zur Verfügung und nur dann,
              wenn POSIXLY_CORRECT nicht gesetzt ist.

EXIT-STATUS
       Normalerweise ist der Exit-Status 0, wenn eine Zeile ausgewählt ist, 1
       wenn keine Zeilen ausgewählt wurden, und 2 wenn ein Fehler aufgetreten
       ist. Allerdings ist der Exit-Status auch dann 0, wenn ein Fehler
       aufgetreten ist, sofern die Optionen -q, --quiet oder --silent
       übergeben wurden und eine Zeile ausgewählt ist.

COPYRIGHT
       Copyright 1998–2000, 2002, 2005–2018 Free Software Foundation, Inc.

       Dies ist freie Software, in den Quellen finden Sie die Bedingungen zur
       Weitergabe. Es gibt KEINE Garantie, auch nicht für die MARKTREIFE oder
       die TAUGLICHKEIT FÃR EINEN BESTIMMTEN ZWECK.

FEHLER
   Fehler berichten
       Schicken Sie Fehler auf Englisch per E-Mail an die Fehlermeldeadresse
       ⟨bug-grep@gnu.org⟩.  Ein E-Mail-Archive
       ⟨https://lists.gnu.org/mailman/listinfo/bug-grep⟩ und eine
       Fehlerdatenbank
       ⟨https://debbugs.gnu.org/cgi/pkgreport.cgi?package=grep⟩ sind
       verfügbar.

   Bekannte Fehler
       Eine groÃe Zahl von Wiederholungen im Konstrukt {m,n} kann dazu
       führen, dass grep sehr viel Speicherplatz verbraucht. Darüber hinaus
       gibt es noch weitere ungewöhnliche reguläre Ausdrücke, deren
       Verarbeitung exponentiell viel Zeit und Speicher benötigt und dazu
       führen kann, dass grep den Speicherplatz erschöpft.

       Rückwärtsreferenzen sind sehr langsam und können exponentiell viel
       Zeit in Anspruch nehmen.

SIEHE AUCH
   Normale Handbuchseiten
       awk(1), cmp(1), diff(1), find(1), gzip(1), perl(1), sed(1), sort(1),
       xargs(1), zgrep(1), read(2), pcre(3), pcresyntax(3), pcrepattern(3),
       terminfo(5), glob(7), regex(7).

   Handbuchseite für POSIX-Programmierer
       grep(1p)

   Komplette Dokumentation
       Es ist ein vollständiges Handbuch
       ⟨https://www.gnu.org/software/grep/manual/⟩ verfügbar. Wenn die
       Programme info und grep auf Ihrem Rechner ordnungsgemäà installiert
       sind, können Sie mit dem Befehl

              info grep

       auf das vollständige Handbuch zugreifen.

ANMERKUNGEN
       Diese Handbuchseite wird nur sporadisch aktualisiert, die vollständige
       Dokumentation ist meistens aktueller.


ÃBERSETZUNG
       Die deutsche Ãbersetzung dieser Handbuchseite wurde von Martin Eberhard
       Schauer <Martin.E.Schauer@gmx.de>, Mario Blättermann
       <mario.blaettermann@gmail.com>, Dr. Tobias Quathamer <toddy@debian.org>
       und Helge Kreutzmann <debian@helgefjell.de> erstellt.

       Diese Ãbersetzung ist Freie Dokumentation; lesen Sie die GNU General
       Public License Version 3 oder neuer bezüglich der Copyright-
       Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn Sie Fehler in der Ãbersetzung dieser Handbuchseite finden,
       schicken Sie bitte eine E-Mail an <debian-l10n-
       german@lists.debian.org>.



GNU grep 3.3                      2018-05-11                           GREP(1)