Aufgabe 1 - egrep -E 'wiwi' woerter.txt - egrep -E 'bios' woerter.txt - egrep -E -i '^mal' woerter.txt - egrep -E 'mal$' woerter.txt - egrep -E 'oberon' woerter.txt - egrep -E 'ober.n' woerter.txt - egrep -E 'ober.*n' woerter.txt - egrep -E '(eb){2}' woerter.txt - egrep -E '^([^a]*a){4}[^a]*$' woerter.txt (genau 4 a's) - egrep -E '([^a]*a){4}[^a]*' woerter.txt (mindestens 4 a's) Frage aus der Übung: mindestens 4 a's: geht das auch mit {n,}? Ja, jetzt bleiben ^ und $ erhalten: - egrep -E '^([^a]*a){4,}[^a]*$' woerter.txt - egrep -E '^J([^a]*a[^a]*){2}$' woerter.txt Aufgabe 2 - Nach dem Wort -Hans in der Datei names.txt suchen: egrep '-Hans' names.txt Wartet auf eine weitere Eingabe! Warum? Weil das Minuszeichen als Option gewertet wird, d.h. ergrep wird mit den Optionen H, a, n und s aufgerufen und wartet darauf, daß Ihr ein Suchmuster eingebt. Versucht das Ganze mal mit egrep '-Marcus' names.txt Es erscheint die Fehlermeldung Ungültige Option M! Wenn Ihr in der Manpage nachschaut werdet Ihr feststellen, daß es keine Option -M gibt! Lösung: Option e verwenden: egrep -e '-Hans' names.txt - In der Datei woerter.txt nach Palindromen, die aus max. 5 Buchstaben bestehen suchen! egrep -E '^(.?)(.?).?\2\1$' woerter.txt Problem hier: Zwischen Groß und Kleinschreibung wird nicht unterschieden, d.h. Radar wird z.B. nicht mitgezählt. Deshalb können vorher mit tr alle Großbuchstaben in Kleinbuchstaben umgewandelt und dann die Anzahl gezählt werden: tr [A-Z] [a-z] < woerter.txt | egrep '^(.?)(.?).?\2\1$' | wc -l - Aufsteigende Vokale egrep -E '^[^aeiou]*a[^aeiou]*e[^aeiou]*i[^aeiou]*o[^aeiou]*u[^aeiou]*$' woerter.txt Mit diesem reg. Ausdruck werden zwischen den Vokalen alle weiteren ausgeschlossen (wie in der Aufgabe verlangt) und erhält diesen Treffer: Adhaesionsbruch Sollen gleiche Vokale hintereinander nicht ausgeschlossen werden, hilft folgender reg. Ausdruck: egrep '^[^eiou]*a[^aiou]*e[^aeou]*i[^aeiu]*o[^aeio]*u[^aeio]*$' | a's | e's | i's | o's | u's | Soll heißen: Zuerst sind bel. viele Konsonanten sowie das a erlaubt, dann muß 1 ein a folgen. Dann sind wieder bel. viele Konsonanten sowie das e erlaubt, dann muß genau 1 e folgen usw. Adhaesionsbruch Praezisionsprodukt Praezisionsuhr - egrep -E '.*[[:space:]].*' names.txt