On Fri, 8 Aug 2008, Francis Litterio wrote: > The grep/egrep man page says this: > > Grep understands two different versions of regular expression syntax: > "basic" and "extended." In GNU grep, there is no difference in > available functionality using either syntax. In other implementa- > tions, basic regular expressions are less powerful. > > But I see this behavior with grep 2.5.1: > > $ echo foobar | grep 'fo+bar' > $ echo foobar | egrep 'fo+bar' > foobar > > So the claim in the man page that "there is no difference in available > functionality using either syntax", doesn't seem to be true.
Francis, The main difference between basic and extended regular expressions in GNU grep is that only . and * have a special meaning in basic regular expression, all other characters must be escaped before they become special. In the extended regexp, it's the other way around - many characters such as + are special and must be escaped to become nonspecial. $ echo foobar | grep 'fo+bar' $ echo foobar | grep 'fo\+bar' foobar $ echo foobar | egrep 'fo\+bar' $ echo foobar | egrep 'fo+bar' foobar Cheers, TAA -- Tony Abou-Assaleh Email: [EMAIL PROTECTED] Web site: http://tony.abou-assaleh.net
