Unix-Linux, Eine Einführung von Wolfgang Paulina (de)
Unix-Linux, Eine Einführung von Wolfgang Paulina (de)
Unix-Linux, Eine Einführung von Wolfgang Paulina (de)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
7. Textmusterverarbeitung mit awk 69<br />
7.4.2. Kontrollanweisungen<br />
Wie in shell-Prozeduren können auch in awk-Programmen Kontrollstrukturen für die Ablaufsteuerung verwen<strong>de</strong>t<br />
wer<strong>de</strong>n.<br />
Die Verbundanweisung<br />
Mehrere Anweisungen können mit geschweiften Klammern zu einer Gruppe <strong>von</strong> Anweisungen zusammengefasst<br />
wer<strong>de</strong>n. Dies nennt man Verbundanweisung.<br />
awk ’{ {wert=$1*3.4} {print $2,$3, "Ergebnis:" wert} }’ daten<br />
Die if-Verzweigung<br />
if ( expression ) Anweisung [; else Anweisung ]<br />
rechner> awk ’{if($1 > 100) \<br />
$1="***"\<br />
else \<br />
sum+=$1 \<br />
print $1} \<br />
END {print "Summe:" sum}’ daten<br />
Obige Verzweigung kann auch in einer Zeile geschrieben wer<strong>de</strong>n:<br />
awk ’{if($1 > 100) $1="***"; else sum+=$1;print $1}<br />
END {print "Summe:" sum}’ daten<br />
Wichtig: Bei <strong>de</strong>r Verzweigung unter awk ist zu beachten, dass im if- bzw. else-Zweig immer nur genau<br />
eine Anweisung stehen darf. Hierbei kann es sich auch um eine Verbundanweisung han<strong>de</strong>ln.<br />
Die while-Schleife<br />
while ( expression ) Anweisung<br />
awk ’{i=1; while(i