Dienstag, 11. Oktober 2016

103.7 Textdateien mit regulären Ausdrücken durchsuchen - Metazeichen

Wichtung 2

reguläre Ausdrücke - regular expression - regexp - regex

In der Prüfung werden die regulären Ausdrücke ausschließlich in Verbindung mit sed, grep und vi verwendet.

Es gibt natürlich viele andere Programme, die ebenfalls mit regulären Ausdrücken arbeiten, z.B. Python, awk, gawk oder Perl

Was sind reguläre Ausdrücke?


  • ein regulärer Ausdruck kann als eine Art Beschreibungssprache verstanden werden
  • hier werden Suchmuster verwendet, z.B. ein Suchwort, eine Position im Text oder auch Wildcards
  • Nicht alle Programme interpretieren reguläre Ausdrücke gleich!!!

Die Metazeichen - allgemeine Grundlagen



  • ^  Textanker für den Zeilenanfang
  • $  Textanker für das Zeilenende
  • \< markiert einen Wortanfang
  • \> markiert ein Wortende
  • \   schützt ein Zeichen vor der Interpretation (wenn man z.B. das $ Zeichen suchen möchte)
  • [] der Ausdruck passt auf die in den Klammern enthaltenen Zeichen, ersetzt aber immer nur EIN Zeichen
  • [^Zeichen] der Ausdruck passt nicht auf die in den Klammern enthaltenen Zeichen
    Unbedingt beachten, dass der Zirkumflex INNERHALB der Klammern sitzt, außerhalb markiert er den Zeilenanfang
^[^#] => erzielt einen Treffer, wenn am Zeilenanfang keine Raute zu finden ist!!! 

Wildcards


  • *  null oder beliebig viele Wiederholungen des voranstehenden Zeichens
  • ?  null oder eine einmalige Wiederholung
  • +  mindestens einmaliges Vorkommen
  • .  (Punkt) kann als Platzhalter für ein beliebiges Zeichen (außer Zeilenvorschub) verwendet werden
In der Shell ersetzt der Stern * mehrere beliebige Zeichen und das Fragezeichen ? nur ein beliebiges Zeichen!!!

:/bin # ls g*
gawk    getkeycodes    grep   gunzip ....

:/bin # ls g???
gawk    grep    gzip




Keine Kommentare:

Kommentar veröffentlichen