"egrep 'libstdc++'" is taken as "egrep 'libstd(c+)+'", although I don't
see that this behaviour is clearly defined in POSIX.  Therefore, as Paul
says, it's synonymous with 'libstdc(c*)'.


On Sun, 31 Aug 2014 19:07:48 -0700
terrygalant.li...@fastest.cc wrote:

> Hi all,
> 
> I'm trying to pipe of output of a command through egrep.
> 
> If I do this
> 
>       ldconfig -p | egrep "libstdc++"
>               libstdc++.so.6 (libc6,x86-64) => /usr/lib64/libstdc++.so.6
>               libstdc++.so.6 (libc6) => /usr/lib/libstdc++.so.6
> 
> that *IS* the answer I expect.
> 
> But if I simply add a ".so" to the egrep target, it returns nothing
> 
>       ldconfig -p | egrep "libstdc++.so"
>               (empty)
> 
> If I *escape* the two "+", it works again.
> 
>       ldconfig -p | egrep "libstdc\+\+.so"
>               libstdc++.so.6 (libc6,x86-64) => /usr/lib64/libstdc++.so.6
>               libstdc++.so.6 (libc6) => /usr/lib/libstdc++.so.6
> 
> Why do I need to escape the "+" in the last case, but not in the first?
> 
> Terry
> 
> 




Reply via email to