PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : ShellProgrammierung - AWK



alligator
21.07.03, 20:45
Hallo zusammen,

wie kann ich denn im AWK eine Shellscript-variable setzen bzw. verändern ?
Wie geht es nun, wenn ich z.B. 2 Shell-Variablen habe:

var1=10
var2=20
awk -v var1="${var1}" -v var2="${var2}" '{var1=var1+5;var2=var2+100;exit 1}' /dev/null
echo "var1 hat jetzt den Wert" $var1 #Ich will Ausgabe 15 anstatt 10
echo "var2 hat jetzt den Wert" $var2 #Ich will Ausgabe 120 anstatt 20

Kann mir da jemand weiterhelfen?
Danke.

cya
alligator

spk
26.07.03, 09:41
Hallo,

ich habe mir das eben mal angesehen (dachte wäre ganz einfach), google hat mir zum Schluss noch ein wenig helfen müssen (http://dbforums.com/arch/144/2003/3/738333).



export var1=10
export var2=20
eval `awk -v var1="${var1}" -v var2="${var2}" 'BEGIN{var1=var1+5;var2=var2+100;print "export var1="var1;print "export var2="var2;exit 0}' /dev/null`


Da /dev/null keine Input Zeile hat muss der Code im BEGIN{} Funktionsrumpf ausgeführt werden. Achte auch auf den feinen Unterschied zwischen ` ` und ' '.

Ansonsten mein Lesetipp: The AWK manual (als PDF unter http://www.cs.uu.nl/docs/vakken/st/nawk/)

Viele Grüße
spk