Files
lbmk/util/sbase/grep.1
Leah Rowe e9a910b33c config/git: import suckless sbase
i currently use the output of sha512sum in several
places of xbmk, which is a bit unreliable in case
output changes.

other cases where i use util outputs in variables
are probably reliable, because i'm using mostly
posix utilities in those.

to mitigate this, i now import suckless sbase, which
has a reasonable sha512sum implementation.

*every* binary it builds is being placed in build.list,
because i'll probably start using more of them.

for example, i may start modifying the "date"
implementation, adding the GNU-specific options that
i need as mentioned on init.sh

i'm importing it in util/ because the sha512sum
util is needed for verifying project sources, so
if sbase itself is a "project source", that means
we can into a chicken and egg bootstrapping problem.

this is sbase at revision:
055cc1ae1b3a13c3d8f25af0a4a3316590efcd48

Signed-off-by: Leah Rowe <leah@libreboot.org>
2025-10-04 09:20:12 +01:00

95 lines
2.3 KiB
Groff

.Dd October 8, 2015
.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 or
.Xr re_format 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 re_format 7 ,
.Xr regex 7
.Sh STANDARDS
POSIX.1-2013.
.Pp
The
.Op Fl Hhw
flags are an extension to that specification.