manpagez: man pages & more
info grep
Home | html | info | man

File: grep.info,  Node: Matching Control,  Next: General Output Control,  Prev: Generic Program Information,  Up: Command-line Options

2.1.2 Matching Control
----------------------

‘-e PATTERNS’
‘--regexp=PATTERNS’
     Use PATTERNS as one or more patterns; newlines within PATTERNS
     separate each pattern from the next.  If this option is used
     multiple times or is combined with the ‘-f’ (‘--file’) option,
     search for all patterns given.  Typically PATTERNS should be quoted
     when ‘grep’ is used in a shell command.  (‘-e’ is specified by
     POSIX.)

‘-f FILE’
‘--file=FILE’
     Obtain patterns from FILE, one per line.  If this option is used
     multiple times or is combined with the ‘-e’ (‘--regexp’) option,
     search for all patterns given.  When FILE is ‘-’, read patterns
     from standard input.  The empty file contains zero patterns, and
     therefore matches nothing.  (‘-f’ is specified by POSIX.)

‘-i’
‘-y’
‘--ignore-case’
     Ignore case distinctions in patterns and input data, so that
     characters that differ only in case match each other.  Although
     this is straightforward when letters differ in case only via
     lowercase-uppercase pairs, the behavior is unspecified in other
     situations.  For example, uppercase "S" has an unusual lowercase
     counterpart "ſ" (Unicode character U+017F, LATIN SMALL LETTER LONG
     S) in many locales, and it is unspecified whether this unusual
     character matches "S" or "s" even though uppercasing it yields "S".
     Another example: the lowercase German letter "ß" (U+00DF, LATIN
     SMALL LETTER SHARP S) is normally capitalized as the two-character
     string "SS" but it does not match "SS", and it might not match the
     uppercase letter "ẞ" (U+1E9E, LATIN CAPITAL LETTER SHARP S) even
     though lowercasing the latter yields the former.

     ‘-y’ is an obsolete synonym that is provided for compatibility.
     (‘-i’ is specified by POSIX.)

‘--no-ignore-case’
     Do not ignore case distinctions in patterns and input data.  This
     is the default.  This option is useful for passing to shell scripts
     that already use ‘-i’, in order to cancel its effects because the
     two options override each other.

‘-v’
‘--invert-match’
     Invert the sense of matching, to select non-matching lines.  (‘-v’
     is specified by POSIX.)

‘-w’
‘--word-regexp’
     Select only those lines containing matches that form whole words.
     The test is that the matching substring must either be at the
     beginning of the line, or preceded by a non-word constituent
     character.  Similarly, it must be either at the end of the line or
     followed by a non-word constituent character.  Word constituent
     characters are letters, digits, and the underscore.  This option
     has no effect if ‘-x’ is also specified.

     Because the ‘-w’ option can match a substring that does not begin
     and end with word constituents, it differs from surrounding a
     regular expression with ‘\<’ and ‘\>’.  For example, although ‘grep
     -w @’ matches a line containing only ‘@’, ‘grep '\<@\>'’ cannot
     match any line because ‘@’ is not a word constituent.  *Note
     Special Backslash Expressions::.

‘-x’
‘--line-regexp’
     Select only those matches that exactly match the whole line.  For
     regular expression patterns, this is like parenthesizing each
     pattern and then surrounding it with ‘^’ and ‘$’.  (‘-x’ is
     specified by POSIX.)

© manpagez.com 2000-2025
Individual documents may contain additional copyright information.