PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablenübergabe bei Aufruf von AWK



wackeldackel
08-02-2005, 15:36
Hallo,

habe ein kleines Problem. Ich möchte ein awk Skript aufrufen und dabei einen externen Parameter mitgeben.

awk -v Ausgabe="xyz.txt" -f skript.awk dassollbearbeitetwerden.txt

Das funktioniert nicht. Es kommt die Fehlermeldung, dass er die Datei dassollbe.....txt nicht gefunden hat. Lasse ich das -v und Ausgabe... weg, funktioniert es.

Ich brauche das aber, da im Skript diese Variable verarbeitet werden soll und ich nicht bei jeder Änderung mehrere Skripte überarbeiten möchte.

im man awk steht es doch so drin
:confused:

Gruss Wackeldackel

Hans-Georg Normann
08-02-2005, 20:20
Mace es doch in etwa so
export MeinVerzeichnis=/usr/bla/bla
. Das awk Skript sieht dann so aus

BEGIN {
AUSGABE=ENVIRON["MeinVerzeichnis"]
}

# ab hier kommt dann dein Code.

Hans

Jasper
08-02-2005, 22:05
im man awk steht es doch so drin


und genauso klappt es bei mir auch:

$ cat bla
{print X; print $0}
$ cat bla2
test
$ awk -v X="1" -f bla bla2
1
test
$ awk --version
GNU Awk 3.1.1


-j

wackeldackel
09-02-2005, 17:48
Abend,

danke für die Infos. Werde ich mal testen. :)

Ich kapier bloss nicht, warum es nicht so funktioniert wie es dort steht. :confused:

Gruss Wackeldackel