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
Nächste Überarbeitung
Vorherige Überarbeitung
lpi1:regulaere_ausdruecke [2017/07/19 08:31] – [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' 
- +== 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:
-  g '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:
-  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+
  
-== 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:
   * https://regex101.com/   * https://regex101.com/
  
 +RegEx Kreuzworträtsel
 +  * https://regexcrossword.com/challenges/beginner/puzzles/1
lpi1/regulaere_ausdruecke.1500453119.txt.gz · Zuletzt geändert: 2017/07/19 08:31 von stefan_miethke