Use pattern as the pattern.
This can be used to specify multiple search patterns,
or to protect a pattern beginning with a ‘-’.
(-e is specified by POSIX.)
-f file
--file=file
Obtain patterns from file, one per line.
The empty file contains zero patterns, and therefore matches nothing.
(-f is specified by POSIX.)
-i
-y
--ignore-case
Ignore case distinctions, 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.)
-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.
-x
--line-regexp
Select only those matches that exactly match the whole line.
(-x is specified by POSIX.)