Moin, On Mon, 2006-11-13 at 16:46 +0100, Rüdiger Noack wrote: > Moin > > Wie kann man awk dazu bringen etwas zu tun, wenn der Eingabestrom "leer" > ist? > > Beispiel zur Verdeutlichung: > [...] > erno@flinker:~$ echo -n "" | awk '{if ($0 != "") {print $1} else {print > "else"}}' > erno@flinker:~$ echo -n "" liefert aber keinen "leeren" Strom, sondern gar nichts. Nimm mal echo -en "\n" und Du generierst wieder einen Strom der "etwas" enthält, nämlich das Ende der Zeichenkette (Strom) ... Das Problem hier ist, das awk gar nicht erst startet wenn der Strom nicht existent ist. Beispiel: hgb@sokrates:~$ echo -n "test" | awk '{print "start"}{if ($0 != "") \\ {print $1} else {print "else"}}' start test hgb@sokrates:~$ echo -n "" | awk '{print "start"}{if ($0 != "") \\ {print $1} else {print "else"}}' [[kein output]] Du musst also selbst dafür sorgen, dass kein nichtexistenter Strom geliefert wird ... oder aber sehr tief in awk wühlen inwieweit Du nichtexistente Eingaben abfangen kannst ... Gruss -- hgb
Attachment:
signature.asc
Description: This is a digitally signed message part