===== Hilfreich ===== Kurzbefehl für buntes ''egrep'' einrichten: alias g='grep -E --color' ==== Beispiel ==== g home /etc/passwd ===== Metazeichen ===== Diese Übersicht ist nicht vollständig. Vollständige Übersichten gibt es z.B. hier: man grep perldoc perlre ==== Anker ==== |''^''|Zeilenanfang| |''$''|Zeilenende| === Beispiel === Alle Nutzer mit ''bash'' als Shell: g 'bash$' /etc/passwd ==== Zeichenauswahl ==== |''.''| ein beliebiges Zeichen | |''[aeiou]''| Eines der Zeichen a, e, i, o oder u | |''[a-z]'' | Ein ASCII-Kleinbuchstabe | |''[0-9A-Fa-f]'' | Ein Hexadezimalziffer | |''[^aeiou]''| Ein Zeichen, aber nicht a, e, i, o oder u| |''[^0-9A-Fa-f]'' | **keine** Hexadezimalziffer | ==== Wiederholungszeichen ==== |''?''| 0 oder 1 mal| |''*''| 0 oder mehr mal| |''+''| 1 oder mehr mal| |''{n,m}''| mindestens n-Mal, maximal m-Mal| |''{n}''|genau n-Mal| === Beispiel === Alle Nutzernamen: g -o '^[^:]+' /etc/passwd ==== Gruppierung ==== |''(samba)''| Das Wort ''samba'' gruppieren und fangen | === Beispiel === sed -n 's/^\([^:]\+\)/\1-test/p' /etc/passwd Vornamen und Nachnamen umdrehen (Johann Wolfgang von Goethe -> Goethe, Johann Wolfgang von) sed -e 's/^\([[:space:][:alpha:]-]\+\)[[:space:]]\+\([[:alpha:]-]\+\)$/\2, \1/g' namen mittlerweile geht es auch mit -E sed -E 's/^([[:space:][:alpha:]-]+)[[:space:]]+([[:alpha:]-]+)$/\2, \1/g' namen == Zeilen löschen == sed -e '3d' namen sed -e '3,5d' namen sed -e '/Johann/d' namen ====== weiterführende Links ====== Einführung in Reguläre Ausdrücke: * http://www.regenechsen.de Tutorials und Referenz: * http://regular-expressions.info Hier gibt es ein nettes Tool um regular expressions zu bauen und zu testen: * http://erik.eae.net/playground/regexp/regexp.html Hier ein Tutorial von Heiko Baur: * http://www.belbardonisakel.de/slides/regexp.pdf Editor für Reguläre Ausdrücke: * https://regex101.com/ RegEx Kreuzworträtsel * https://regexcrossword.com/challenges/beginner/puzzles/1