-c Print only a count of matching lines.
0
-h Do not print file name tags (headers) with output lines.
-e The following argument is taken as a pattern . This option makes it easy to specify patterns that might confuse argument parsing, such as -n .
-i Ignore alphabetic case distinctions. The implementation folds into lower case all letters in the pattern and input before interpretation. Matched lines are printed in their original form.
-l (ell) Print the names of files with selected lines; don't print the lines.
-L Print the names of files with no selected lines; the converse of -l .
-n Mark each printed line with its line number counted in its file.
-s Produce no output, but return status.
-v Reverse: print lines that do not match the pattern.
-f The pattern argument is the name of a file containing regular expressions one per line.
-b Don't buffer the output: write each output line as soon as it is discovered.
Output lines are tagged by file name when there is more than one input file. (To force this tagging, include /dev/null as a file name argument.)
Care should be taken when using the shell metacharacters $*[^|()=\e and newline in pattern ; it is safest to enclose the entire expression in single quotes \|' \|.\|.\|.\| ' . An expression starting with '*' will treat the rest of the expression as literal characters.