Awk: Übungen: RegExp
Erscheinungsbild
Übungen
[Bearbeiten]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
Simple reguläre Ausdrücke
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A10 | Gegeben sei die Anweisung awk '/1a/' pupil . Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
|
||
A20 | Gegeben sei die Anweisung awk '$3~/2/ {print $1}' pupil . Welche Daten werden durch Ausführung dieser Anweisung ausgegeben?
|
||
A30 | 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. |
Beliebige Zeichen
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A40 | 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. |
Anker
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A50 | Gegeben sei die Anweisung awk '$1~/a$/' pupil . Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
|
||
A60 | Erstellen Sie ein awk-Skript, das alle Datensätze der Datei pupil mit dem Schülernamen Hans ausgibt. |
Zeichenklassen
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A70 | Gegeben sei die Anweisung awk '/^[A-H]/' pupil . Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
|
||
A75 | Gegeben sei die Anweisung awk '/^[^A-H]/' pupil . Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
|
||
A80 | 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. |
Alternativen
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A90 | Gegeben sei die Anweisung awk '$1~/Hans|Olga/' pupil . Welche Datensätze werden durch Ausführung dieser Anweisung ausgegeben?
|
||
A100 | 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. |
Gruppierung
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A110 | Liefern die Anweisungen awk '$1~/^(Ha|Ka).../' pupil und awk '$1~/^Ha|Ka.../' pupil das gleiche Ergebnis?
|
Wiederholungen
[Bearbeiten]Aufgabe | |||
---|---|---|---|
A120 | 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 | Gegeben ist die Anweisung awk '/^Ha{2,}llo$/' . Nach Start dieser Anweisung werden über die Standardeingabe die Strings
eingegeben. Welche davon werden über das awk-Skript, d.h nicht nur als Echo, an die Standardausgabe weitergeleitet? |
||
A140 | Erstellen Sie ein awk-Skript, das Datensätze der Datei pupil unter folgender Voraussetzung ausgibt: Der Schülername sei Zeichen lang mit (also Namen die 2, 4, 6, 8, ... Zeichen lang sind). |
Weitere Aufgaben
[Bearbeiten]Aufgabe | |||
---|---|---|---|
W10 | 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 | Geben sie einen regulären Ausdruck an, der Gleitkommazahlen repräsentiert. Beispiele für Gleitkommazahlen:
Eingaben, auf die der reguläre Ausdruck nicht zutreffen darf, sind bspw.:
|
|
|
W30 | 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:
|