Scriptsprachen und ihre Anwendungen =================================== Beispielloesung zu Blatt 03 --------------------------- Aufgabe 1 --------- Teilaufgabe a) -------------- sed -n -e 's/^\([0-9A-Z][0-9A-Z]-[0-9A-Z][0-9A-Z]-[0-9A-Z][0-9A-Z]\):\([0-9]\{1,2\}\)/Das Fahrzeug mit dem niederlaendischen Kennzeichen \1 fuhr \2 km\/h zu schnell./p' kennzeichen.txt > ~/holland.txt Teilaufgabe b) -------------- sed -n -e '/^[A-Z][A-Z] [0-9][0-9][0-9][A-Z][A-Z]/p' kennzeichen.txt | sed -n -e '10,20p' kuerzer: sed -n -e '/^[A-Z]\{2\} [0-9]\{3\}[A-Z]\{2\}/p' kennzeichen.txt | sed -n -e '10,20p' Teilaufgabe c) -------------- Man lege ein Datei an mit dem Inhalt /^[A-Z]\{3\}-[0-9]\{3\}/p /^[0-9]\{3\}-[A-Z]\{3\}/p Angenommen, diese Datei heisst "exp1". Dann fuehrt der Aufruf sed -n -f exp1 /^[0-9]\{3\}-[A-Z]\{3\}/ a\ -> (hierbei ist wichtig, dass je eine Leerzeile auf die Ausdruecke folgt; hier angedeutet durch "->") Der erste Ausdruck sorgt dafuer, dass NACH jeder Zeile, deren Inhalt auf das Pattern passt, eine leere Zeile angefuegt wird. Der zweite funktioniert analog fuer VOR jeder Zeile. Der Aufruf sed -f exp2 $a.corrected.tex; done; Im Ergebnis bekommt man drei neue LaTeX-Dateien, in denen der korrigierte LaTeX-Code enthalten ist. Diese muessten sich ohne Probleme uebersetzen lassen. nh - 11/2009