Awk: Übungen: RegExp

Aus Wikibooks

Wechseln zu: Navigation, Suche
Go-up.svg Hoch zu Reguläre Ausdrücke


Erläuterungen
Schwierigkeitsgrad der Übungen:
Face-grin.svg ... sehr einfach Face-devil-grin.svg ... ein bisschen schwieriger
Lösungen:

Die Links zu den Lösungen sind per Link-Bild realisiert. Im Gegensatz zu den üblichen Wikibooks-Gepflogenheiten gelangen Sie durch einen Klick auf das Symbol Info.svg zur entsprechenden Lösungsseite.


Inhaltsverzeichnis


[Bearbeiten] Übungen

Gegeben sei die Datei pupil folgenden Inhalts:

Name            Klasse  Deutsch Mathematik Physik
-------------------------------------------------------
Hans            1a      1       2          3 
Frieda          2b      3       2          2
Helga           1b      2       1          1
Michael         1a      2       1          3
Olga            2a      3       1          2
Karl-Hans       3c      3       4          2

[Bearbeiten] Simple reguläre Ausdrücke

Aufgabe
A10 Face-grin.svg Gegeben sei die Anweisung awk '/1a/' pupil. Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
A20 Face-grin.svg Gegeben sei die Anweisung awk '$3~/2/ {print $1}' pupil. Welche Daten werden durch Ausführung dieser Anweisung ausgegeben?
A30 Face-grin.svg Erstellen Sie ein awk-Skript, welches alle Schülerdatensätze aus der Textdatei pupil auf der Standardausgabe listet, in deren Namensspalte die Zeichenkette Hans vorkommt.


[Bearbeiten] Beliebige Zeichen

Aufgabe
A40 Face-grin.svg Gegeben sei die Datei pupil. Erstellen Sie ein awk-Skript, das die Datensätze aller Schüler mit einem Namen länger als 5 Zeichen aus dieser Datei auf der Standardausgabe listet.


[Bearbeiten] Anker

Aufgabe
A50 Face-grin.svg Gegeben sei die Anweisung awk '$1~/a$/' pupil. Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
A60 Face-grin.svg Erstellen Sie ein awk-Skript, das alle Datensätze der Datei pupil mit dem Schülernamen Hans ausgibt.


[Bearbeiten] Zeichenklassen

Aufgabe
A70 Face-grin.svg Gegeben sei die Anweisung awk '/^[A-H]/' pupil. Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
A75 Face-grin.svg Gegeben sei die Anweisung awk '/^[^A-H]/' pupil. Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
A80 Face-devil-grin.svg Erstellen Sie ein awk-Skript, das entsprechende Datensätze der Datei pupil unter folgender Voraussetzung ausgibt: Das zweite Zeichen im Datensatz muss der Buchstabe a oder e sein.


[Bearbeiten] Alternativen

Aufgabe
A90 Face-grin.svg Gegeben sei die Anweisung awk '$1~/Hans|Olga/' pupil. Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
A100 Face-devil-grin.svg Erstellen Sie ein awk-Skript, das entsprechende Datensätze der Datei pupil unter folgender Voraussetzung ausgibt: Die Schülernamen beginnen mit Ha, He oder Ka.


[Bearbeiten] Gruppierung

Aufgabe
A110 Face-devil-grin.svg Liefern die Anweisungen awk '$1~/^(Ha|Ka).../' pupil und awk '$1~/^Ha|Ka.../' pupil das gleiche Ergebnis?


[Bearbeiten] Wiederholungen

Aufgabe
A120 Face-grin.svg Erstellen Sie ein awk-Skript, das Datensätze der Datei pupil unter folgender Voraussetzung ausgibt: Der Schülername beginnt mit H und endet mit s.
A130 Face-devil-grin.svg Gegeben ist die Anweisung awk '/^Ha{2,}llo$/'. Nach Start dieser Anweisung werden über die Standardeingabe die Strings
  • Hallo
  • Haaallodi
  • Haaaallo

eingegeben. Welche davon werden über das awk-Skript, d.h nicht nur als Echo, an die Standardausgabe weitergeleitet?

A140 Face-devil-grin.svg Erstellen Sie ein awk-Skript, das Datensätze der Datei pupil unter folgender Voraussetzung ausgibt: Der Schülername sei \; 2n Zeichen lang mit n\in\mathbb{N} (also Namen die 2, 4, 6, 8, ... Zeichen lang sind).


[Bearbeiten] Weitere Aufgaben

Aufgabe
W10 Face-grin.svg Geben sie einen regulären Ausdruck an, der auf alle Strings passt, die aus mehr als 2 Zeichen bestehen, mit einem Großbuchstaben beginnen und mit einer Ziffer enden.
W20 Face-devil-grin.svg Geben sie einen regulären Ausdruck an, der Gleitkommazahlen repräsentiert. Beispiele für Gleitkommazahlen:
  • -2
  • +3.67801
  • 56.
  • 3.1e34
  • -569E-4
  • .65E+9
W30 Face-devil-grin.svg Geben Sie einen regulären Ausdruck für eine Zeichenkette bestehend aus den Buchstaben W und F an, bei der sowohl die Summe der Buchstaben W, als auch die der Buchstaben F eine gerade Zahl ergibt. Beispiele:
  • WWFF
  • FWFW
  • WFFFFW
  • WWWFFWFFWWFWWF
  • WFFWFWW (Summe der Buchstaben F ist ungerade)



Go-up.svg Hoch zu Reguläre Ausdrücke
Persönliche Werkzeuge