URL:
  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15280>

                 Summary: Feature request: better support for multiple
patterns
                 Project: grep
            Submitted by: epaepa
            Submitted on: Fri 12/23/05 at 11:01
                Category: None
                Severity: 3 - Normal
              Item Group: None
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open

    _______________________________________________________

Details:

Grep lets you specify more than one pattern using multiple -e options.  Then
a line matches if any of the patterns match.  Effectively each -e means
'or'.

It would be useful to have -and and -not options a la find(1), so 

% grep -e hello -and -e there

to match lines containing both words.  This simple example could be done with
two grep processes in a pipeline, but it's certainly faster to grep the file
once, and once you start adding context:

% grep --context=10 -e hello -and -e there

it's not really possible to get the same search with two separate greps.

The -v flag negates the sense of matching but it applies globally.  You
cannot ask grep to print lines matching one pattern but not another.  As far
as I know, grep's regular expressions don't have a negation operator so this
would be an increase in grep's power.  And handy together with -and, for
example

% grep --context=10 -e '\*\*\*' -and -not -e 'modification time'

as a way to search your build logs for make errors which aren't the common
'modification time in the future'.






    _______________________________________________________

Reply to this item at:

  <http://savannah.gnu.org/bugs/?func=detailitem&item_id=15280>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.gnu.org/



Reply via email to