Hallo!
Ich schreibe gerade an meiner Diplomarbeit und bräuchte eure Hilfe:
Ich möchte aus einer Textdatei verschiedene Werte ausgeben lassen:
{ FS = OFS = “\t”
}
{
print( $1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $15, $21, $23, $24, $25, $26)
}
und anschliessend von einigen nominal skalierten Werten ein Ergebniswert:
{ergebnis = $13 + $16 + $17 + $18 + $20 + $22;
if (ergebnis > 0)
print(” 1 “)
else
print(” 0 “)
}
Leider klappt nur der erste Programmteil..
Kann mir jemand bitte helfen?
Wäre euch sehr dankbar!!!
Viele Grüße
Judith
test1=1
test2=2
let test3=$test1+$test2
echo $test3
ergibt: 3
test1=1
test2=”4″
let test3=$test1+$test2
echo $test3
ergibt: 5
so geht es mit dem addieren;
Typen – awk kennt keine echten Variablentypen, es wird nur mit Strings hantiert. Diese werden allerdings als Zahlen aufgefaßt, wenn das im Zusammenhang sinnvoll ist. Soll die Auswertung als Zahl erzwungen werden, so addiert man eine 0.
Ich vermute, daß bei dir die Fallunterscheidung nicht richtig funktioniert. Damit könnte es gehen (Vorherige Antwort betraf die shell).
[1] http://www.clug.de/vortraege/awk/