Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 6 Mar 1997 21:18:02 +0100
From:      j@uriah.heep.sax.de (J Wunsch)
To:        spaz@u.washington.edu (John Utz)
Cc:        hackers@FreeBSD.ORG
Subject:   Re: awk bug? in 2.2 BETA?
Message-ID:  <19970306211802.CZ51686@uriah.heep.sax.de>
In-Reply-To: <Pine.OSF.3.95.970306101744.11587E-100000@becker1.u.washington.edu>; from John Utz on Mar 6, 1997 10:23:34 -0800
References:  <Pine.OSF.3.95.970306101744.11587E-100000@becker1.u.washington.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
As John Utz wrote:

> mira: {60} cat fd1.dat | awk 'BEGIN { FS = " " }; END { printf "rf= %g; cf
> = %g\n;", NR, NF }'
> 
> rf= 9801; cf = 0;
> 
> cf should be 3!
> 
> fd1.dat has 9801 lines and 3 colums of data, and this awk is not reporting
> the columns....

    NF          The number of fields in the current record.  Inside a
                BEGIN action, the use of NF is undefined unless a getline
                function without a var argument is executed previously.
                Inside an END action, NF shall retain the value it had for
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                the last record read, unless a subsequent, redirected,
                ^^^^^^^^^^^^^^^^^^^^
                getline function without a var argument is performed prior
                to entering the END action.

Our version of awk breaks this.  It resets NF to 0 before the EOF is
seen.

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970306211802.CZ51686>