Provided by: manpages-de_1.4-1_all bug

BEZEICHNUNG

       grep, egrep, fgrep, rgrep - gibt Zeilen aus, die zu einem Suchmuster passen

ÜBERSICHT

       grep [OPTIONEN] MUSTER [DATEI...]
       grep [OPTIONEN] [-e MUSTER | -f DATEI] [DATEI...]

BESCHREIBUNG

       grep  sucht  in den angegebenen DATEIen (oder der Standardeingabe, wenn keine Dateien oder
       ein einzelner Trenn-/Bindestrich (-) als Dateiname angegeben wurde) nach Zeilen,  die  auf
       das MUSTER passen. Per Voreinstellung gibt grep die passenden Zeilen aus.

       Darüber hinaus stehen die drei Programmvarianten egrep, fgrep und rgrep zur Verfügung. Sie
       entsprechen den Aufrufen grep -E, grep -F und grep -r. Von dem  direkten  Aufruf  entweder
       als   egrep  oder  fgrep  wird  abgeraten.  Die  Programme  werden  bereitgestellt,  damit
       historische Anwendungen, die sich auf deren Existenz verlassen, ohne  Modifikation  laufen
       können.

OPTIONEN

   Allgemeine Programminformationen
       --help grep  zeigt  eine  kurze Zusammenfassung der Befehlszeilen-Optionen und die Adresse
              für Fehlerberichte an; anschließend wird es beendet.

       -V, --version
              grep zeigt die Versionsnummer auf der Standardfehlerausgabe an. Die  Versionsnummer
              sollte in allen Fehlerberichten (siehe unten) mit angegeben werden.

   Wahl des Musters
       -E, --extended-regexp
              MUSTER  soll  als erweiterter regulärer Ausdruck (extended regular expression, ERE,
              siehe unten) interpretiert werden. (-E wird von POSIX gefordert.)

       -F, --fixed-strings
              Interpretiert MUSTER als Liste feststehender Zeichenketten, die durch Zeilenumbruch
              getrennt sind. Für einen Treffer muss mindestens eine der Zeichenketten passen. (-F
              wird von POSIX gefordert.)

       -G, --basic-regexp
              Interpretiert MUSTER als gewöhnlichen regulären Ausdruck (basic regular expression,
              BRE, siehe unten). Das ist die Voreinstellung.

       -P, --perl-regexp
              Interpretiert  MUSTER  als  einen  regulären Perl-Ausdruck. Diese Option ist höchst
              experimentell. Es kann vorkommen, dass grep -P wegen nicht implementierter Features
              warnt.

   Steuerung des Abgleichs
       -e MUSTER, --regexp=MUSTER
              Verwendet MUSTER als das Suchmuster. Damit können mehrere Suchmuster angegeben oder
              Muster geschützt werden, die mit einem Bindestrich (-) anfangen. (-e wird von POSIX
              gefordert.)

       -f DATEI, --file=DATEI
              Liest  die Suchmuster Zeile für Zeile aus DATEI ein. Eine leere Datei enthält keine
              Suchmuster und erzielt deshalb auch keine Treffer. (-f wird von POSIX gefordert.)

       -i, --ignore-case
              Unterscheidet  auf  der  Suche  nach  Treffern  sowohl  im  MUSTER  als  auch   den
              Eingabedateien  nicht  zwischen  Groß-  und  Kleinschreibung.  (-i  wird  von POSIX
              gefordert.)

       -v, --invert-match
              Invertiert das Suchmuster, so dass alle Zeilen ausgewählt  werden,  die  nicht  auf
              MUSTER passen. (-v wird von POSIX gefordert.)

       -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.

       -x, --line-regexp
              Wählt nur solche Zeilen aus, deren Treffer die komplette Zeile  umfasst.  (-x  wird
              von POSIX gefordert.)

       -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 mindestens  einem  Treffer
              angezeigt. Die Suche endet beim ersten Treffer. (-l wird von POSIX gefordert.)

       -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. (-q wird von POSIX gefordert.)

       -s, --no-messages
              Unterdrückt Fehlermeldungen über  nicht  vorhandene  oder  nicht  lesbare  Dateien.
              Anmerkung  zur  Portierbarkeit: Im Gegensatz zu GNU grep war das ursprüngliche (7th
              Edition Unix) grep nicht POSIX-konform, da ihm die Option -q fehlte und die  Option
              -s  sich so verhielt wie -q im heutigen GNU grep. grep im USG-Stil fehlte ebenfalls
              -q, aber seine Option -s verhielt sich wie GNU grep.  Portable  Shell-Skripte,  die
              auch  mit  dem  ursprünglichen  grep funktionieren müssen, sollten deshalb weder -q
              noch -s verwenden und stattdessen die Ausgabe (stdout und  stderr)  nach  /dev/null
              umleiten. (-s wird von POSIX gefordert.)

   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. (-n wird von POSIX gefordert.)

       -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 ersten Bytes einer Datei anzeigen,  dass  sie  Binärdaten  enthält,  soll
              angenommen  werden,  dass  es  sich um eine Datei vom Typ TYP handelt. Als Standard
              wird für den TYP binary angenommen. Normalerweise gibt grep lediglich eine  Meldung
              aus, dass es in einer binären Datei Treffer gab, und schweigt, wenn nichts gefunden
              wurde. In der Einstellung without-match überspringt grep  Binärdateien,  ohne  dort
              nach Treffern zu suchen. Der Schalter -I bewirkt dasselbe. Mit der Einstellung text
              (äquivalent mit -a) bearbeitet grep eine Binärdatei als  sei  sie  eine  Textdatei.
              Warnung:  grep  --binary-files=text  kann  mit  üblen Nebenwirkungen binären »Müll«
              ausgeben, wenn die Ausgabe auf eine Konsole geleitet wird und deren Treiber  manche
              der Binärdaten als Steuerzeichen interpretiert.

       -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 Dateien, deren Dateiname unter  Verwendung  von  Platzhaltern  zu  GLOB
              passt.  Ein  Dateinamen-»GLOB«  kann  *,  ?  und  [...]  als  Platzhalter und \ zum
              Maskieren von Platzhalterzeichen oder des Rückschrägstriches verwenden.

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

       --exclude-dir=VERZ
              Schließt Verzeichnisse, die zum Muster VERZ passen, von der rekursiven Suche aus.

       -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. 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.

       --mmap Verwendet, falls möglich, beim Lesen  der  Eingabedaten  den  Systemaufruf  mmap(2)
              statt  des  üblichen  read(2).  Unter  gewissen  Umständen  erzielt  --mmap bessere
              Leistungswerte, ist jedoch unzuverlässiger  und  kann  sogar  zu  Programmabstürzen
              (inclusive  core  dumps)  führen, wenn beispielsweise eine Eingabedatei während der
              Suche verkleinert wird oder ein Ein-/Ausgabefehler auftritt.

       -U, --binary
              Verarbeitet die Datei(en) als Binärdaten.  Unter  MS-DOS  und  MS-Windows  versucht
              grep, den Dateityp zu bestimmen, indem es die ersten 32 kByte der Datei untersucht.
              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 die Eingabe als einen Satz von Zeilen, von denen jede mit einem Null-Byte
              (das  ASCII-Zeichen  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«  (PRCE).  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  PRCE-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.

   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.  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}   The preceding item is matched at most m times. This is a GNU extension.
       {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.

       Das   Metazeichen   {   wurde   im   ursprünglichen   egrep   nicht   unterstützt.  Andere
       Implementierungen unterstützen stattdessen \{, sodass portable Skripte {  in  Mustern  für
       grep -E  generell  vermeiden  sollten.  Für  das  Zeichen { selbst sollte der Ausdruck [{]
       verwendet werden.

       GNU grep -E attempts to support traditional usage by assuming that { is not special if  it
       would  be  the  start  of  an  invalid  interval  specification.  For example, the command
       grep -E '{1' searches for the two-character string {1 instead of reporting a syntax  error
       in  the  regular  expression.  POSIX  allows  this  behavior as an extension, but portable
       scripts should avoid it.

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.

       GREP_OPTIONS
              Mit  Hilfe  dieser  Variable  lassen sich Standardoptionen definieren, die vor alle
              explizit angegebenen Optionen gesetzt werden. Enthält  GREP_OPTIONS  beispielsweise
              '--binary-files=without-match --directories=skip', so verhält sich grep, als ob die
              beiden  Optionen  --binary-files=without-match  und  --directories=skip   auf   der
              Befehlszeile  vor  allen weiteren Optionen angegeben worden wären. Mehrere Optionen
              werden durch Leerzeichen getrennt. Ein  Rückschrägstrich  (backslash)  schützt  das
              folgende  Zeichen,  so  dass  auch  Optionen  angegeben  werden  können, die selbst
              Leerzeichen oder Rückschrägstriche enthalten.

       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 sl= (oder cx=, wenn rv gesetzt ist) bleibt aktiv, wenn
                     diese  »kicks  in«.  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.  Diese  bestimmt
              den  Zeichentyp  eines  jeden  Zeichens, beispielsweise welche Zeichen als Leerraum
              angesehen werden.

       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
              If set, grep behaves as POSIX requires; otherwise, grep behaves more like other GNU
              programs.  POSIX  requires  that  options that follow file names must be treated as
              file names; by default, such options are permuted to the front of the operand  list
              and  are  treated  as  options.  Also,  POSIX requires that unrecognized options be
              diagnosed as “illegal”, but since they are not really against the law  the  default
              is    to    diagnose    them    as   “invalid”.   POSIXLY_CORRECT   also   disables
              _N_GNU_nonoption_argv_flags_, described below.

       _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.

RÜCKGABEWERT

       Der Rückgabewert ist 0, wenn die gewählten Zeilen  gefunden  werden,  sonst  1.  Wenn  ein
       Fehler auftrat, ist der Rückgabewert 2. (Anmerkung: POSIX-Code zur Fehlerbehandlung sollte
       auf »2« oder größer prüfen.)

COPYRIGHT

       Copyright 1998-2000, 2002, 2005-2013 Free Software Foundation, Inc.

       Dies ist freie  Software;  siehe  den  Quelltext  für  Kopierbedingungen.  Es  gibt  KEINE
       Garantie, nicht einmal für MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK.

FEHLER

   Fehler berichten
       Senden  Sie  Fehlerberichte  zu  grep per E-Mail in englischer Sprache an die Mailingliste
       bug-greps@gnu.org, deren  Webseite  <http://lists.gnu.org/mailman/listinfo/bug-grep>  ist.
       Die Fehler von grep können Sie unter <http://savannah.gnu.org/bugs/?group=grep> verfolgen.

   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),
       mmap(2), read(2), pcre(3), pcrepattern(3), pcresyntax(3), terminfo(5), glob(7), regex(7).

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

   TeXinfo-Dokumentation
       Die vollständige Dokumentation für grep wird als TeXinfo-Handbuch gepflegt, das Sie  unter
       http://www.gnu.org/software/grep/manual/  lesen  können.  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.

       GNU' ist nicht Unix, aber Unix ist eine Bestie; sein Plural ist Unixen.

ÜBERSETZUNG

       Die   deutsche   Übersetzung  dieser  Handbuchseite  wurde  von  Martin  Eberhard  Schauer
       <Martin.E.Schauer@gmx.de> und Tobias Quathamer <toddy@debian.org> 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>.