Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:regulaere_ausdruecke

buntes grep

Kurzbefehl für buntes egrep einrichten:

alias g='grep -E --color=auto'
Beispiel
g home /etc/passwd

Metazeichen

Diese Übersicht ist nicht vollständig. Vollständige Übersichten gibt es z.B. hier:

man grep

Anker

^Zeilenanfang
$Zeilenende

Beispiel

Alle Nutzer mit bash als Shell:

grep -E --color '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

{n,m} mindestens n-Mal, maximal m-Mal
{n}genau n-Mal
? 0 oder 1 mal, entspricht: {0,1}
* 0 oder mehr mal, entspricht: {0,}
+ 1 oder mehr mal, entspricht: {1,}

Beispiel

Alle Nutzernamen:

grep -E --color -o '^[^:]+' /etc/passwd

gruppieren / kopieren

(…)Bereich der kopiert werden soll
\1Kopie einfügen

Alle Nutzer deren Name nicht im Namen ihres Heimatverzeichnises enthalten ist:

grep -vE '^([^:]+):x:[0-9]+:[0-9]+:[^:]*:[^:]*\1' /etc/passwd

sed

Suchen und ersetzen

Suchen und ersetzen mit sed in 3 Schritten:

Anzeigen, was geändert würde:

sed -rn 's/bash$/fish/p' /etc/passwd

Komplette Datei inkl. Änderungen anzeigen:

sed -r 's/bash$/fish/' /etc/passwd

Datei tatsächlich ändern:

cp /etc/passwd .
sed -ir 's/bash$/fish/' passwd

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:

Tutorials und Referenz:

Hier gibt es ein nettes Tool um regular expressions zu bauen und zu testen:

Hier ein Tutorial von Heiko Baur:

Editor für Reguläre Ausdrücke:

RegEx Kreuzworträtsel

lpi1/regulaere_ausdruecke.txt · Zuletzt geändert: 2024/11/21 17:23 (Externe Bearbeitung)