04.11.2013 Aufrufe

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)

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!