[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: awk



Hallo Gebhard,

Gebhard Dettmar <gebhard.dettmar@student.hu-berlin.de> wrote:
> On Tuesday 14 November 2006 08:08, Rüdiger Noack wrote:
>> erno@flinker:~$ echo -n "" | awk '{ print "Ha!" }'
>> erno@flinker:~$ echo -n "" | awk 'END { print "Ha!" }'
>> Ha!
>>
> Ich weiß nur soviel: es gibt in awk 3 Möglichkeiten:
> 1.) BEGIN - wird ausgeführt, bevor Input gelesen wird
>  echo -n "" | awk ' BEGIN { print "Ha!" }'
> Ha!
> 2.) Input loop - wird für jede Zeile input ausgeführt
>  echo "" | awk '{ print "Ha!" }'
> Ha!
> 3.) END - wird ausgeführt, nachdem der input gelesen wurde
> Beispiel wie oben
>
> Was ich nicht ganz raffe, ist, wieso -n =trailing newline-Unterdrückung
> awk nicht mehr den String hinter print lesen lässt (also letztlich das 
> gleiche wie Hans-Georg ;-)

Stell Dir awk in etwa so vor:

eval("BEGIN-BLOCK");
foreach EINGABE-ZEILE do:
    eval("Anweisungen");
eval("END-BLOCK");

Die foreach‐Schleife wird nie betreten. Oder um Deine Frage mal mit einer
normalen for‐Schleife darzustellen: for (i=0; i < 0; ++i)

Schöne Grüße, Jörg.
-- 
Prof. in der Mathematikvorlesung zu einem vergessenen φ in der
Gleichung: „Klein‐φ macht auch Mist.“



Reply to: