On Mon, Jul 16, 2007 at 09:43:32AM -0700, Bob McGowan <[EMAIL PROTECTED]> was 
heard to say:
> Next, grep supports what most would now call a subset of full regular 
> expression syntax.  This does not include parenthesis or alternation. So 
> when you put a backslash in front of the pipe symbol, 'grep' simply looks 
> for the literal string 'in|hill', which does not exist in the file.  Add it 
> and you'll see it work.

  Actually, grep will treat the pipe as alternation, if it's backslash
escaped:

[EMAIL PROTECTED]:~$ echo -e 'in the grey morning\nwe climbed the hill.' | grep 
'in\|hill'
in the grey morning
we climbed the hill.

  Note that I had to double-escape the pipe: once using single-quotes to
hide it from the shell, and once with a backslash to tell grep it was
special.  I could have written:

    grep in\\\|hill

  but that would have been gross and nasty. :)

  Daniel


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED] 
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to