Am Mittwoch, 30. August 2006 10:49 schrieb Dr. Jürgen Vollmer:
Mit ausgeschlafenem Kopf geht das doch alles besser...
Die Arrays hatte ich gesehen, hatte mich aber leider verlesen: Ich hatte gelesen, dass man die Größe des Arrays beim Erstellen festlegen muss.
ne, ne, das sind assoziative arrays, also solche die auch mit stings inidziert werden können (zumindest bei gawk).
Ja, das habe ich jetzt auch gesehen. Und als kleine Übung habe ich das Skript dann doch noch mal mit Arrays geschrieben. s.u. Übrigens, kann mir jemand einen Hinweis zur Verwendung von XEmacs bei awk Skripten geben? Im AWK-Modus verhält er sich nicht so, wie ich mir das wünschen würde: - Beim Tippen von {, } oder ; bekomme ich ebenso wie beim betätigen von Tab einen Piepston mit der Fehlermeldung "Wrong type argument: stringp, nul" Was muss ich tun, damit der Modus vernünftig funktioniert? Hier ist das Skript. Ich bin offen für weitere Verbesserungsvorschläge. ----- BEGIN { start=0; gefunden=0; } # Am Ende eines Blocks wird start zurückgesetzt, wenn Suchwort gefunden { if ($0 ~ /####################/ && start==1 && gefunden==1) { start=0; } } # Am Anfang eines Blocks wird gesammelt, wenn Wort noch nicht gefunden { if ($0 ~ /####################/ && gefunden==0) { start=1; zaehler=0; } else { if (start==1) { inhalt[zaehler]=$0; zaehler++; if ($0 ~ /Suchwort/) { gefunden=1 } } } } END { for (x = 0; x < zaehler; x++) { print inhalt[x] } } ----- Gruß Achim