GNU bug report logs -
#18377
piping output through egrep -- escaping of "+" only needed sometimes. Why?
Previous Next
Reported by: terrygalant.lists <at> fastest.cc
Date: Mon, 1 Sep 2014 02:17:01 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
"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.lists <at> 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
>
>
This bug report was last modified 10 years and 349 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.