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 [2017/03/07 17:04]
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 ---color=auto
- +== Beispiel ==
-==== Beispiel ​====+
   g home /etc/passwd   g home /etc/passwd
  
Zeile 9: 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 17: 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 ====
 |''​.''​| ein beliebiges Zeichen | |''​.''​| ein beliebiges Zeichen |
 |''​[aeiou]''​| Eines der Zeichen a, e, i, o oder u | |''​[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| |''​[^aeiou]''​| Ein Zeichen, aber nicht a, e, i, o oder u|
 +|''​[^0-9A-Fa-f]''​ | **keine** Hexadezimalziffer |
  
 ==== 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 -> GoetheJohann Wolfgang von) +Suchen und ersetzen mit sed in 3 Schritten:​ 
-  sed -'s/^\([[:space:​][:​alpha:​]-]\+\)[[:​space:]]\+\([[:​alpha:​]-]\+\)$/\2\1/g' namen+ 
 +Anzeigenwas 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 ====== ====== 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:
Zeile 59: Zeile 79:
   * https://​regex101.com/​   * https://​regex101.com/​
  
 +RegEx Kreuzworträtsel
 +  * https://​regexcrossword.com/​challenges/​beginner/​puzzles/​1
lpi1/regulaere_ausdruecke.1488906277.txt.gz · Zuletzt geändert: 2017/07/19 08:31 (Externe Bearbeitung)