Hallo, Am Mit, 30 Aug 2006, Dr. Jürgen Vollmer schrieb:
END { for (x = 0; x < zaehler; x++) { print inhalt[x] } }
Also in der manpage steht folgendes: for (var in array) statement Ergo: END { for (s in inhalt) { print s; } }
speichert man das Script als foo.awk, dann kann man die Variable SUCHWORT so definierten:
awk -f foo.awk -v SUCHWORT=foobar eingabedatei
ohne GAWK kann man ähnliches erreichen, wenn man das AWK-Script in ein SH-Script einbettet und etwas mit den Quotes "spielt":
awk kennt eine ARGV Variable. Und schaut mal nach /usr/share/awk! Da findet sich z.B. ein 'getopt.awk' das fuer sowas einfaches aber zu "dick" ist. Hier reicht: BEGIN { SUCHWORT=ARGV[1]; delete ARGV[1]; } [..] ($0 ~ SUCHWORT) { [..Rest vom Script..]
in etwa so: #!/bin/sh SUCHVAR=$1 # hier ist SHELL ^^ Quoten!
awk < $DATEI ' ... if ($0 ~ /'$SUCHWORT'/) { ^^^^^^^^^quoten!
-dnh -- Mary had a little lamb, her father shot it dead. Now she goes to school with it, between two lumps of bread. -- sig of C. Herbig