Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Oct 2010 11:57:02 -0400
From:      "Peter C. Lai" <peter@simons-rock.edu>
To:        Miroslav Lachman <000.fbsd@quip.cz>
Cc:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: is there a bug in AWK on 6.x and 7.x (fixed in 8.x)?
Message-ID:  <20101004155702.GH70616@cesium.hyperfine.info>
In-Reply-To: <4CA78EE3.9020005@quip.cz>
References:  <4CA78EE3.9020005@quip.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
Is this becuase the behavior of "FS=" was changed to match the behavior
of awk -F

On 2010-10-02 09:58:27PM +0200, Miroslav Lachman wrote:
> I think there is a bug in AWK in base of FreeBSD 6.x and 7.x (tested on 
> 6.4 i386 and 7.3 i386)
> 
> I have this simple test case, where I want 2 columns from GeoIP CSV file:
> 
> awk 'FS="," { print $1"-"$2 }' GeoIPCountryWhois.csv
> 
> It should produce output like this:
> 
> # awk 'FS="," { print $1"-"$2 }' GeoIPCountryWhois.csv | head -n 5
> "1.0.0.0"-"1.7.255.255"
> "1.9.0.0"-"1.9.255.255"
> "1.10.10.0"-"1.10.10.255"
> "1.11.0.0"-"1.11.255.255"
> "1.12.0.0"-"1.15.255.255"
> 
> (above is taken from FreeBSD 8.1 i386)
> 
> On FreeBSD 6.4 and 7.3 it results in broken first line:
> 
> awk 'FS="," { print $1"-"$2 }' GeoIPCountryWhois.csv | head -n 5
> "1.0.0.0","1.7.255.255","16777216","17301503","AU","Australia"-
> "1.9.0.0"-"1.9.255.255"
> "1.10.10.0"-"1.10.10.255"
> "1.11.0.0"-"1.11.255.255"
> "1.12.0.0"-"1.15.255.255"
> 
> There are no errors in CSV file, it doesn't metter if I delete the 
> affected first line from the file.
> 
> It is reproducible with handmade file:
> 
> # cat test.csv
> "1.9.0.0","1.9.255.255","17367040","17432575","MY","Malaysia"
> "1.10.10.0","1.10.10.255","17435136","17435391","AU","Australia"
> "1.11.0.0","1.11.255.255","17498112","17563647","KR","Korea, Republic of"
> "1.12.0.0","1.15.255.255","17563648","17825791","CN","China"
> "1.16.0.0","1.19.255.255","17825792","18087935","KR","Korea, Republic of"
> "1.21.0.0","1.21.255.255","18153472","18219007","JP","Japan"
> 
> 
> # awk 'FS="," { print $1"-"$2 }' test.csv
> "1.9.0.0","1.9.255.255","17367040","17432575","MY","Malaysia"-
> "1.10.10.0"-"1.10.10.255"
> "1.11.0.0"-"1.11.255.255"
> "1.12.0.0"-"1.15.255.255"
> "1.16.0.0"-"1.19.255.255"
> "1.21.0.0"-"1.21.255.255"
> 
> 
> As it works in 8.1, can it be fixed in 7-STABLE?
> (I don't know if it was purposely fixed or if it is coincidence of newer 
> version of AWK in 8.x)
> 
> Should I file PR for it?
> 
> Miroslav Lachman
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscribe@freebsd.org"

-- 
===========================================================
Peter C. Lai                 | Bard College at Simon's Rock
Systems Administrator        | 84 Alford Rd.
Information Technology Svcs. | Gt. Barrington, MA 01230 USA
peter AT simons-rock.edu     | (413) 528-7428
===========================================================




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