NetBSD-Bugs archive

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

Re: bin/53507: awk doesn't properly compare "numeric strings"



On Wed, Aug 08, 2018 at 10:30:01AM +0000, Robert Elz wrote:
> The following reply was made to PR bin/53507; it has been noted by GNATS.
> 
> From: Robert Elz <kre%munnari.OZ.AU@localhost>
> To: gnats-bugs%NetBSD.org@localhost
> Cc: 
> Subject: Re: bin/53507: awk doesn't properly compare "numeric strings"
> Date: Wed, 08 Aug 2018 17:24:42 +0700
> 
>      Date:        Wed,  8 Aug 2018 09:30:02 +0000 (UTC)
>      From:        Valery Ushakov <uwe%stderr.spb.ru@localhost>
>      Message-ID:  <20180808093002.4D38E7A1FA%mollari.NetBSD.org@localhost>
>  
>    |  Check the definition  of "numeric string".
>  
>  Yes, that is exactly right.   This is not an awk bug [...]

>-6: uname -a
NetBSD nbt-8 7.99.18 NetBSD 7.99.18 (vNBx64) #3: Tue May 26 06:17:19 CEST 2015  ks@iws35-07:/u/NetBSD/arch/amd64/obj/sys/arch/amd64/compile/vNBx64 amd64

>-2: awk 'BEGIN { max="10"+0 ; for (i=0; i<max; i++) {print i}; exit}' | wc -l
      10
ok, if you want nummeric, add 0

>-3: awk 'BEGIN { max="10" ; for (i=0; i<max; i++) {print i}; exit}' | wc -l
       2
what others observed...

>-4: awk 'BEGIN { max="80" ; for (i=0; i<max; i++) {print i}; exit}' | wc -l
       9
hm, why 9? Maybe counts 0 to 8?

>-5: awk 'BEGIN { max="90" ; for (i=0; i<max; i++) {print i}; exit}' | wc -l
      90
And now? 90 is ok - or not?

Seems that 1-8 are "special" and 9 is handled as expectet?


FWIW: on an oldish Solaris-VM (SunOS ip8vms9 5.9 Generic_Virtual sun4v sparc sun4v)

>-269: which awk
/usr/xpg4/bin/awk
>-270: awk 'BEGIN { max="10" ; for (i=0; i<max; i++) {print i}; exit}' | wc -l
      10

>-271: /bin/awk 'BEGIN { max="10" ; for (i=0; i<max; i++) {print i}; exit}' | wc -l
       2
and so on, same as on NetBSD above

Kurt


Home | Main Index | Thread Index | Old Index