.\" .\" Copyright 1993 Sebastian Hetze und der/die in der Sektion .\" AUTOR genannten Autor/Autoren .\" .\" Dieser Text steht unter der GNU General Public License. .\" Er darf kopiert und verändert, korrigiert und verbessert werden. .\" Die Copyright und Lizenzbestimmung müssen allerdings erhalten .\" bleiben. Die Hinweise auf das LunetIX Linuxhandbuch, aus dem .\" dieser Text stammt, dürfen nicht entfernt werden. .\" .TH EGREP 1 "1. Juli 1993" "LunetIX Linuxhandbuch" "Dienstprogramme für Benutzer" .SH BEZEICHNUNG egrep \- gibt alle Zeilen aus, in denen ein bestimmter Ausdruck gefunden wird .SH SYNTAX .B egrep .RB [ \-CVbchilnsvwx ] .RI [ \-Anzahl ] .RB [ -AB .IR Anzahl ] .RB [[ \-e ] .IR Ausdruck | .B \-f .IR Datei ] .RI [ Datei ...] .SH BESCHREIBUNG .B egrep durchsucht die angegebenen .I Dateien (oder die Standardeingabe) nach einem .I Ausdruck und gibt die entsprechenden Zeilen aus. Der Status von .B egrep ist 0, wenn der .I Ausdruck gefunden wurde, und sonst 1. .PP .B egrep unterscheidet sich nur in der Syntax einiger Ausdrücke vom .B grep Kommando. Als .I Ausdruck akzeptiert .B egrep reguläre Ausdrücke mit den folgenden Steuerzeichen: .TP .B c ein einzelner Buchstabe passt auf sich selbst .TP .B . ein Punkt passt auf jeden Buchstaben außer auf das Zeilenende .TP .B ? das dem Fragezeichen vorangehende Zeichen bzw. Muster kann null oder einmal vorkommen .TP .B * das dem Asterisk .B * vorangehende Zeichen oder Muster kann 0 mal oder öfter vorkommen .TP .B + das dem Pluszeichen .B + vorangehende Zeichen bzw. Muster kann 1 mal oder öfter vorkommen .TP .B | die durch den Operator .B | verbundenden Argumente werden .B oder verknüpft .TP .B ^ (Caret) passt auf den Zeilenanfang .TP .B $ passt auf das Zeilenende .TP .B \\\< passt auf den Wortanfang .TP .B \\\> passt auf das Wortende .TP .RI [ Buchstaben ] passt auf alle .IR Buchstaben ; dabei können einzelne Buchstaben, aber auch Bereiche in der Form .IR von - bis angegeben werden; wenn der erste Buchstabe nach .BR [ ein ^ ist, passt der Ausdruck auf alle Buchstaben außer den aufgeführten .TP .B () die Klammern fassen Ausdrücke und Zeichenketten zusammen; außerdem wird der auf den in Klammern eingeschlossene Teil des Musters passende Text markiert und mit einem folgenden \fB\\\fIN\fR Ausdruck referenziert (Tag) .TP \fB\\\fIN\fR referenziert die auf das in den .IR N -tens runden Klammern eingeschlossene Muster passende Zeichenkette. .TP \fB\\\fP jedes der Sonderzeichen kann, durch ein \fB\\\fP(Backslash) eingeleitet, sich selbst suchen .TP .B \\\b passt auf kein Zeichen, sondern auf den Anfang oder das Ende eines Wortes .TP .B \\\B steht für den Raum innerhalb eines Wortes .TP .B \\\w passt auf alle alphanumerischen Zeichen [A-Za-z0-9] .TP .B \\\W passt auf alle nicht alphanumerischen Zeichen [^A-Za-z0-9] .PP Die Rangfolge der Operatoren ist (von der höchsten zur niedrigsten): .sp .BR ( ", " ) ", " ? ", " * ", " + " und " | .sp Die anderen Operatoren sind mit den anderen Buchstaben gleichrangig. .SH OPTIONEN .TP .BI -A " Anzahl" gibt .I Anzahl Zeilen Kontext .B nach jeder gefundenden Zeile aus .TP .BI -B " Anzahl" gibt .I Anzahl Zeilen Kontext .B vor jeder gefundenden Zeile aus .TP .B -C gibt .I 2 Zeilen Kontext .B "vor und nach" jeder gefundenden Zeile aus .TP .BI - Anzahl gibt .I Anzahl Zeilen Kontext .B "vor und nach" jeder gefundenden Zeile aus .TP .B -V gibt die Versionsnummer auf die Standardfehlerausgabe .TP .B -b gibt die Position jeder gefundenen Stelle mit aus .TP .B -c gibt nur die Gesamtzahl der gefundenen Stellen aus .TP .BI -e " Ausdruck" sucht nach .I Ausdruck .TP .BI -f " Datei" .I Datei enthält die Ausdrücke, nach denen gesucht werden soll .TP .B -h unterdrückt die Dateinamen vor jeder Fundstelle .TP .B -i ignoriert Groß- und Kleinschreibung .TP .B -l gibt nur die Dateinamen mit Fundstellen aus .TP .B -n gibt die Zeilennummer zu jeder Fundstelle aus .TP .B -s (silent) keine Ausgabe außer Fehlermeldungen .TP .B -v gibt nur Zeilen aus, die den .I Ausdruck nicht enthalten .TP .B -w gibt nur Zeilen aus, in denen der .I Ausdruck als komplettes Wort vorkommt .TP .B -x gibt nur Zeilen aus, die den .I Ausdruck als ganze Zeile enthalten .SH BEISPIEL Das Kommando .sp egrep 'sys_.*[^;]$' *.c .sp liefert, im Verzeichnis /usr/src/linux/kernel ausgeführt, die erste Näherung einer Liste aller Systemaufrufe von Linux. Es werden alle C-Sourcen nach Zeilen durchsucht, die die für die Funktionsnamen der Systemaufrufe typischen Buchstaben .B sys_ enthalten, und die gleichzeitig nicht mit einem Semikolon enden. .PP Die beiden in diesem Beispiel verwendeten Asterisk Wildcards .B * haben grundlegend unterschiedliche Funktion: das erste, in Hochkomma eingeschlossene, wird dem .B egrep Kommando übergeben und mit dem Ausdruck ausgewertet. Das zweite wird von der Shell interpretiert, die daraus eine Liste aller Dateinamen mit der Endung .B .c im aktuellen Verzeichnis erzeugt. .PP Mit dem Kommando .sp egrep '(.......).*\1' Handbuch.tex .sp kann in der Datei Handbuch.tex nach Zeilen gesucht werden, in denen eine Zeichenkette aus sieben Zeichen doppelt vorkommt. .SH SIEHE AUCH .BR grep (1) und das LunetIX Linuxhandbuch .SH AUTOR Mike Haertel, James A. Woods und David Olson