Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:regulaere_ausdruecke

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
lpi1:regulaere_ausdruecke [2020/12/09 11:00] – [Gruppierung] stefan_miethkelpi1:regulaere_ausdruecke [2026/03/24 21:08] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
-===== Hilfreich =====+===== buntes grep =====
 Kurzbefehl für buntes ''egrep'' einrichten: Kurzbefehl für buntes ''egrep'' einrichten:
-  alias g='egrep --colour' +  alias g='grep -E --color=auto' 
-Heute besser +== Beispiel ==
-  alias g='grep -E --color' +
-==== Beispiel ====+
   g home /etc/passwd   g home /etc/passwd
  
Zeile 10: Zeile 8:
 Diese Übersicht ist nicht vollständig. Vollständige Übersichten gibt es z.B. hier: Diese Übersicht ist nicht vollständig. Vollständige Übersichten gibt es z.B. hier:
   man grep   man grep
-  perldoc perlre 
  
 ==== Anker ==== ==== Anker ====
Zeile 18: Zeile 15:
 === Beispiel === === Beispiel ===
 Alle Nutzer mit ''bash'' als Shell: Alle Nutzer mit ''bash'' als Shell:
-  g 'bash$' /etc/passwd+  grep -E --color 'bash$' /etc/passwd
  
 ==== Zeichenauswahl ==== ==== Zeichenauswahl ====
Zeile 29: Zeile 26:
  
 ==== Wiederholungszeichen ==== ==== Wiederholungszeichen ====
-|''?''| 0 oder 1 mal| 
-|''*''| 0 oder mehr mal| 
-|''+''| 1 oder mehr mal| 
 |''{n,m}''| mindestens n-Mal, maximal m-Mal| |''{n,m}''| mindestens n-Mal, maximal m-Mal|
 |''{n}''|genau n-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 === === Beispiel ===
 Alle Nutzernamen: Alle Nutzernamen:
-  g -o '^[^:]+' /etc/passwd+  grep -E --color -o '^[^:]+' /etc/passwd
  
 +==== gruppieren / kopieren ====
 +|''(…)''|Bereich der kopiert werden soll|
 +|''\1''|Kopie einfügen|
  
-==== Gruppierung ==== +Alle Nutzer deren Name nicht im Namen ihres Heimatverzeichnises enthalten ist: 
-|''(samba)''| Das Wort ''samba'' gruppieren und fangen |+  grep -vE '^([^:]+):x:[0-9]+:[0-9]+:[^:]*:[^:]*\1' /etc/passwd
  
-=== Beispiel === +====== sed ======
-  sed -n 's/^\([^:]\+\)/\1-test/p' /etc/passwd+
  
-Vornamen und Nachnamen umdrehen +==== Suchen und ersetzen ==== 
-(Johann Wolfgang von Goethe -> Goethe, Johann Wolfgang von) +Suchen und ersetzen mit sed in 3 Schritten:
-  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 ==+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 '3d' namen
   sed -e '3,5d' namen   sed -e '3,5d' namen
   sed -e '/Johann/d' namen   sed -e '/Johann/d' namen
 +
 ====== weiterführende Links ====== ====== weiterführende Links ======
 Einführung in Reguläre Ausdrücke: Einführung in Reguläre Ausdrücke:
   * http://www.regenechsen.de   * http://www.regenechsen.de
  
-Hier gibt es ein nettes Tool um regular expressions zu bauen und zu testen: +Tutorials und Referenz: 
-  * http://erik.eae.net/playground/regexp/regexp.html +  * http://regular-expressions.info
- +
-Hier ein Tutorial von Heiko Baur: +
-  * http://www.belbardonisakel.de/slides/regexp.pdf+
  
 Editor für Reguläre Ausdrücke: Editor für Reguläre Ausdrücke:
lpi1/regulaere_ausdruecke.txt · Zuletzt geändert: 2026/03/24 21:08 von 127.0.0.1