[ILUG] regular expression question

Mark McLoughlin mark at skynet.ie
Tue Nov 13 16:53:38 GMT 2001


Hi Padraig,

On Tue, 13 Nov 2001, Padraig Brady wrote:

> [padraig at pixelbeat findul]$ cat input.txt
> /lib/libthread_db-1.0.so
> /usr/lib/gphoto/libgphoto_canon.so.0
> /usr/lib/lib_alchemistmodule.so
>
>
> OK I want to only show files in /lib/ or /usr/lib/
> so I'm trying to exclude lines that have a / after
> these 2 strings.
> So try 1: Match 1 or more characters not /
>
> [padraig at pixelbeat findul]$ cat input.txt |
> grep "\(^/usr/lib/[^/]+$\|^/lib/\)"
> /lib/libthread_db-1.0.so
>
> This didn't match the last entry, why?

	Strange indeed. Interestingly

grep "\(^/usr/lib/[^/][^/]*$\|^/lib/\)" < input.txt

	works. So it may be a bug ?

	Out of curiousity - how come you didn't try something like

grep "^/\(usr/lib$\|^lib\)/[^/]+$" < input.txt

Good Luck,
Mark.





More information about the ILUG mailing list