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

Re: awk



On 14.11.06 22:56:31, Hans-Georg Bork wrote:
> On Tue, 2006-11-14 at 20:12 +0100, Andreas Pakulat wrote:
> > On 14.11.06 19:01:30, Hans-Georg Bork wrote:
> > > Moin Andreas,
> > > 
> > > On Tue, 2006-11-14 at 17:10 +0100, Andreas Pakulat wrote:
> > > > On 14.11.06 16:40:36, Hans-Georg Bork wrote:
> > > > [...]
> 
> > > > [vorher im Thread] hgb@sokrates:~$ echo -n "" | awk '{ print "Ha!" }'
> > > > [vorher im Thread] hgb@sokrates:~$
> [...]
> > > > > So weit war ich auch, nur warum kommt gar nichts, wenn der END Block da
> > > > > nicht steht?
> > > > 
> > > > man awk, Abschnitt Patterns. BEGIN/END werden immer ausgefuehrt ohne die
> > > > Eingabe zu beachten.
> > > 
> > > hast Du evtl. auch eine Antwort auf meine Frage?
> > 
> > Steht doch da. Weil BEGIN/END ausgefuehrt wird, ohne die Eingabe zu betrachten.
> 
> Und was passiert innerhalb awk wenn BEGIN/END dort nicht steht (s.o.)?
> Das war meine Frage ...

In nem anderen Teilthread hattest du geschrieben dass du es jetzt
verstehst. Aber zur Sicherheit nochmal: 

awk 'BEGIN{...} {...} END{...}'

Enthaelt 3 Pattern, BEGIN{...}, END{...} und den in der Mitte. Letzterer
wird offensichtlich nur ausgefuehrt wenn die Eingabe für awk (also das
was er von stdin liest) nicht leer ist. Ansonsten wird der mittlere
Pattern einfach ignoriert. BEGIN{...} und END{...} werden aber immer
ausgefuehrt.

Andreas

-- 
Day of inquiry.  You will be subpoenaed.



Reply to: