| .Dd 2015-10-08 |
| .Dt GREP 1 |
| .Os sbase |
| .Sh NAME |
| .Nm grep |
| .Nd search files for patterns |
| .Sh SYNOPSIS |
| .Nm |
| .Op Fl EFHchilnqsvx |
| .Op Fl e Ar pattern |
| .Op Fl f Ar file |
| .Op Ar pattern |
| .Op Ar file ... |
| .Sh DESCRIPTION |
| .Nm |
| searches the input files for lines that match the |
| .Ar pattern , |
| a regular expression as defined in |
| .Xr regex 7 . |
| By default each matching line is printed to stdout. If no |
| .Ar file |
| is given |
| .Nm |
| reads from stdin. |
| .Sh OPTIONS |
| .Bl -tag -width Ds |
| .It Fl E |
| Match using extended regex. |
| .It Fl F |
| Match using fixed strings. Treat each pattern specified as a string instead of |
| a regular expression. |
| .It Fl H |
| Prefix each matching line with its filename in the output. This is the |
| default when there is more than one file specified. |
| .It Fl c |
| Print only a count of matching lines. |
| .It Fl e Ar pattern |
| Specify a pattern used during the search of the input: an input |
| line is selected if it matches any of the specified patterns. |
| This option is most useful when multiple -e options are used to |
| specify multiple patterns, or when a pattern begins with a dash. |
| .It Fl f Ar file |
| Read one or more patterns from the file named by the pathname file. |
| Patterns in file shall be terminated by a <newline>. A null pattern can be |
| specified by an empty line in pattern_file. Unless the -E or -F option is |
| also specified, each pattern shall be treated as a BRE. |
| (`-'). |
| .It Fl h |
| Do not prefix each line with 'filename:' prefix. |
| .It Fl i |
| Match lines case insensitively. |
| .It Fl l |
| Print only the names of files with matching lines. |
| .It Fl n |
| Prefix each matching line with its line number in the input. |
| .It Fl q |
| Print nothing, only return status. |
| .It Fl s |
| Suppress the error messages ordinarily written for nonexistent or unreadable |
| files. |
| .It Fl v |
| Select lines which do |
| .Sy not |
| match the pattern. |
| .It Fl w |
| The expression is searched for as a word (as if surrounded by '\<' and '\>'). |
| .It Fl x |
| Consider only input lines that use all characters in the line excluding the |
| terminating <newline> to match an entire fixed string or regular expression to |
| be matching lines. |
| .El |
| .Sh EXIT STATUS |
| .Bl -tag -width Ds |
| .It 0 |
| One or more lines were matched. |
| .It 1 |
| No lines were matched. |
| .It > 1 |
| An error occurred. |
| .El |
| .Sh SEE ALSO |
| .Xr sed 1 , |
| .Xr regex 7 |
| .Sh STANDARDS |
| The |
| .Nm |
| utility is compliant with the |
| .St -p1003.1-2013 |
| specification. |
| .Pp |
| The |
| .Op Fl Hhw |
| flags are an extension to that specification. |