Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi1:regulaere_ausdruecke

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
lpi1:regulaere_ausdruecke [2020/06/21 16:16]
127.0.0.1 Externe Bearbeitung
lpi1:regulaere_ausdruecke [2024/11/21 17:23] (aktuell)
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:
-  ​'​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:​
-  ​-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+
  
-== 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
 +
 +Tutorials und Referenz:
 +  * http://​regular-expressions.info
  
 Hier gibt es ein nettes Tool um regular expressions zu bauen und zu testen: Hier gibt es ein nettes Tool um regular expressions zu bauen und zu testen:
lpi1/regulaere_ausdruecke.1592756204.txt.gz · Zuletzt geändert: 2020/06/21 16:16 von 127.0.0.1