bin/166842: bsdgrep(1) inconsistently handles ^ in non-anchoring positions

Jim Pryor dubiousjim at gmail.com
Thu Apr 12 15:37:05 UTC 2012


On Thu, Apr 12, 2012, at 11:14 AM, John D. Hendrickson and Sara Darnell
wrote:
> Your problem is incorrect so there is no sol'n.
> 
> 	printf 'abc def' | grep -o '^[a-z]'
> 
> is only supposed to match against abc.
> 
> see grep(1) about pattern matching - there is plenty of online writeups,
> esp posix ieee std.  see 
> also "ant / antlr" for more about patterns and matching.
> 
> Jim Pryor wrote:
> > The following reply was made to PR bin/166842; it has been noted by GNATS.
> > From: Jim Pryor <dubiousjim at gmail.com>
> >  $ printf 'abc def' | grep -o '^[a-z]'
> >  will match against each of the letters in 'abc', but not against any of
> >  the letters in 'def'.
> >  dubiousjim at gmail.com


Hi John, I'm sorry I didn't describe the problem adequately to prevent
this misunderstanding.
$ printf 'abc def' | grep -o '^[a-z]'
Expected output: a
That is in fact the output I get from Gnu grep.
Actual output on FreeBSD:
a
b
c

The matches against "b" and "c" are incorrect.

-- 
dubiousjim at gmail.com



More information about the freebsd-bugs mailing list