Reguläre Ausdrücke: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→grep) |
|||
Zeile 85: | Zeile 85: | ||
Standardausgabe geschrieben. grep kann auch von STDIN lesen.Es ist | Standardausgabe geschrieben. grep kann auch von STDIN lesen.Es ist | ||
empfehlenswert, sich anzugwöhnen ,das Suchmuster in Anführungszeichen zu | empfehlenswert, sich anzugwöhnen ,das Suchmuster in Anführungszeichen zu | ||
− | schreiben. Es gibt 3 Arten fgrep = fastgrep , grep und | + | schreiben. Es gibt 3 Arten fgrep = fastgrep , grep und egrep |
Beispiel: | Beispiel: |
Version vom 18. November 2022, 09:48 Uhr
c | Ein einzelner Buchstabe passt auf sich selbst |
. | Ein Punkt passt auf jedes Zeichen außer auf das Zeilenende |
* | Das dem Operator * vorangehende Muster kann 0 oder öfter vorkommen |
^ | (Caret) passt auf den Zeilenanfang |
$ | Passt auf das Zeilenende |
\ | Das folgende Sonderzeichen wird entwertet |
[...] | Passt auf "genau" eins in [...] angebenen Zeichen |
[^...] | Passt auf "genau" ein Zeichen welches nicht in [...] angebenen ist |
\< | Passt auf den Wortanfang |
\> | Passt auf das Wortende |
\+ | Das dem Operator \+ vorangehende Muster kann 1 oder öfter vorkommen |
& | Setzt das gefunden Suchmuster ein |
\(...\) | Speichert den Text auf den das Suchmuster passt zur späteren Verwendung |
\n | Setzt das vorangehende, mit \(...\) Gefundene wieder ein |
(...) | Gruppiert Auswahlmöglichkeiten |
| | Trennt Auswahlmöglichkeiten |
\b | Passt auf den Anfang oder das Ende eines Wortes |
\B | Symbolisiert den Raum innerhalb eines Wortes |
\w | Passt auf alle alphanumerischen Zeichen [A-Za-z0-9] |
\W | Passt auf alle nichtalphanumerischen Zeichen [^A-Za-z0-9] |
\d | Passt auf alle numerischen Zeichen = [0-9] |
\D | Passt auf alle nichtnumerischen Zeichen = [0-9] |
Die Rangfolge der Operatoren(von der höchsten zur niedrigsten)
- (, ), ?, *, + | .
Die anderen Operatoren sind mit den anderen Buchstaben gleichrangig.
Beispiel zum Suchen
Suchmuster Passt auf ^Tuxer Tuxer am Zeilenanfang [tT]uxer Tuxer oder tuxer 80[23]?86 8086, 80286 oder 80386
grep
Mit grep ist es möglich, in Dateien nach regulären Ausdrücken zu suchen. Wenn eine Übereinstimmung gefunden wird, wird die komplette Zeile auf die Standardausgabe geschrieben. grep kann auch von STDIN lesen.Es ist empfehlenswert, sich anzugwöhnen ,das Suchmuster in Anführungszeichen zu schreiben. Es gibt 3 Arten fgrep = fastgrep , grep und egrep
Beispiel:
root@zero:~# cat text quatsch quatsch quatsch wichtig quatsch root@zero:~# grep wichtig text wichtig root@zero:~#
-c meldet nur die Gesamtzahl der Fundstellen -v zeigt nur Zeilen, die »Ausdruck« nicht enthalten -i ignoriert Groß- und Kleinschreibung -l meldet nur Dateinamen mit Fundstellen -n listet Zeilennummern zu jeder Fundstelle -f Dateiname »Dateiname« enthält die Such-Ausdrücke -E ist ein erweiterter regulärer Ausdruck (egrep) -F (Muster, Ausdruck) ist ein Muster (String) (fgrep) -b listet auch die Position der Fundstellen -A Anzahl Anzahl von Zeilen werden nach der Fundstelle ausgegeben -B Anzahl Anzahl von Zeilen werden vor der Fundstelle ausgegeben -r Durchsucht Verzeichnisse rekursiv
- Valid E-Mail regex
root@zero:~# cat mail Max.Mustermann@Beispiel.de Hallo@Welt.de Irgendwas Anderes Böse Adresse@+++.de DieHier@GehtWieder.de DieHier@@GehtWiederNicht.de Auch01927Zahlen@SindErlaubt.com Lokaler_Teil_Erlaubt_Unterstriche@Tests.com Tests@Globaler_Teile_Aber_nicht.com root@zero:~# grep -P "[\w.%+-]+@[\w.-][^_]+\.[a-z]{2,}" mail Max.Mustermann@Beispiel.de Hallo@Welt.de DieHier@GehtWieder.de Auch01927Zahlen@SindErlaubt.com Lokaler_Teil_Erlaubt_Unterstriche@Tests.com
- links
https://www.danielfett.de/de/tutorials/tutorial-regulare-ausdrucke/