Sie können mit dem Befehl grep auch nach mehreren gleichartigen Wörtern oder Zeichenfolgen suchen, die Sie durch einen regulären Ausdruck spezifizieren. Reguläre Ausdrücke bestehen aus Buchstaben, Zahlen und speziellen Zeichen, die als Metazeichen bezeichnet und von grep auf eine bestimmte Weise interpretiert werden. Um eine Interpretation durch das System zu verhindern, müssen Metazeichen in der Befehlszeile in Anführungszeichen gesetzt oder mit einem Gegenschrägstrich (\) geschützt werden. Beispiele für Metazeichen sind: & ! . * $ ? und \.
Ein Zirkumflex (^) steht für den Beginn einer Zeile. Mit dem folgenden Befehl suchen Sie nach allen Zeilen in der Datei liste, die mit dem Buchstaben b" beginnen:
$ grep '^b' liste |
Ein Dollarzeichen ($) steht für das Ende einer Zeile. Mit dem nächsten Befehl suchen Sie nach allen Zeilen, die mit dem Buchstaben b" enden:
$ grep 'b$' liste |
Sie können die beiden Zeichen auch kombinieren. Mit dem folgenden Befehl suchen Sie nach allen Zeilen, in denen nur der Buchstabe b" steht:
$ grep '^b$' liste |
suchen Sie also nach allen Zeilen, in denen eine Zeichenfolge aus de" und einem beliebigen dritten Buchstaben enthalten ist, z. B. der", dem", Katheder" oder Ende" (Leerzeichen sind ebenfalls gültig).
Ein Stern (*), der auf ein einzelnes Zeichen folgt, steht für eine beliebige Anzahl des vorangehenden Zeichens. Folgt der Stern auf einen regulären Ausdruck, steht er für eine beliebige Anzahl dieses Ausdrucks.
Die Verwendung dieses Metazeichens ist mitunter nicht ganz einfach, weil der Stern auch für die Anzahl Null stehen kann. Wenn Sie beispielsweise nach allen Wörtern suchen wollen, in denen die Buchstabenfolge qu" vorkommen, geben Sie folgendes ein:
$ grep 'qu*' list |
Soll dagegen nach allen Wörtern gesucht werden, die den Buchstaben n" enthalten, müßten Sie folgenden Befehl eingeben:
$ grep 'nn*' list |
Um nach allen Wörter zu suchen, in denen die Buchstabenfolge nn" vorkommt, müßten Sie den Befehl so eingeben:
$ grep 'nnn*' liste |
Am besten experimentieren Sie ein wenig mit solchen Suchmustern, um sich mit der Bedeutung der Metazeichen vertraut zu machen.