\" $NetBSD: agrep.1,v 1.4 2016/06/10 08:03:46 wiz Exp $
Dd June 10, 2016
Dt AGREP 1
Os
Sh NAME
Nm agrep
Nd print lines approximately matching a pattern
Sh SYNOPSIS
Nm
Op options
Ar pattern
Op files
Sh DESCRIPTION
Searches for approximate matches of
Ar pattern
in each
Ar FILE
or standard input.
Sh OPTIONS
Ss Regexp selection and interpretation
Bl -tag -width 10n
It Fl e Ar pattern , Fl Fl regexp= Ns Ar pattern
Use
Ar PATTERN
as a regular expression; useful to protect patterns beginning with
Sq - .
It Fl i , Fl Fl ignore-case
Ignore case distinctions (as defined by the current locale) in
Ar pattern
and input files.
It Fl k , Fl Fl literal
Treat
Ar pattern
as a literal string, that is, a fixed string with no special
characters.
It Fl w , Fl Fl word-regexp
Force
Ar pattern
to match only whole words.
A
Dq whole word
is a substring which either starts at the beginning
or the record or is preceded by a non-word constituent character.
Similarly, the substring must either end at the end of the record
or be followed by a non-word constituent character.
Word-constituent characters are alphanumerics (as
defined by the current locale) and the underscore character.
Note that the non-word constituent characters
Em must
surround the match; they cannot be counted as errors.
El
Ss Approximate matching settings
Bl -tag -width 10n
It Fl Ns Ar #
Select records that have at most
Ar #
errors
Ar ( #
is a digit between 0 and 9).
It Fl D Ar num , Fl Fl delete-cost= Ns Ar num
Set cost of missing characters to
Ar num .
It Fl E num , Fl Fl max-errors= Ns Ar num
Select records that have at most
Ar num
errors.
It Fl I Ar num , Fl Fl insert-cost= Ns Ar num
Set cost of extra characters to
Ar num .
It Fl S Ar num , Fl Fl substitue-cost= Ns Ar num
Set cost of incorrect characters to
Ar num .
Note that a deletion (a missing character) and an insertion (an extra
character) together constitute a substituted character, but the cost
will be the that of a deletion and an insertion added together.
Thus, if the const of a substitution is set to be larger than the
sum of the costs of deletion and insertion, direct substitutions
will never be done.
El
Ss Miscellaneous
Bl -tag -width 10n
It Fl d pattern , Fl Fl delimiter= Ns Ar pattern
Set the record delimiter regular expression to
Ar pattern .
The text between two delimiters, before the first delimiter, and after
the last delimiter is considered to be a record.
The default record
delimiter is the regexp
Dq \en ,
so by default a record is a line.
Ar pattern
can be any regular expression that does not match the empty string.
For example, using
Fl d Ar \"^From \"
defines mail messages as records in a Mailbox format file.
It Fl Fl help
Display a brief help message and exit.
It Fl r , Fl Fl recursive
If a directory is given as one of the command line arguments,
look in every directory entry in the subdirectory, recursively.
It Fl V , Fl Fl version
Print version information and exit.
It Fl v , Fl Fl invert-match
Select non-matching records instead of matching records.
It Fl y , Fl Fl nothing
Does nothing.
This options exists only for compatibility with the
non-free agrep program.
El
Ss Output control
Bl -tag -width 10n
It Fl B , Fl Fl best-match
Only output the best matching records, that is, the records with the
lowest cost.
This is currently implemented by making two passes over
the input files and cannot be used when reading from standard input.
It Fl Fl color , Fl Fl colour
Highlight the matching strings in the output with a color marker.
The color string is taken from the
Ev GREP_COLOR
environment variable.
The default color is red.
It Fl c , Fl Fl count
Only print a count of matching records per each input file,
suppressing normal output.
It Fl H , Fl Fl with-filename
Prefix each output record with the name of the input file where the
record was read from.
It Fl h , Fl Fl no-filename
Suppress the prefixing filename on output when multiple files are
searched.
It Fl l , Fl Fl files-with-matches
Only print the name of each input file which contains at least one
match, suppressing normal output.
The scanning for each file will stop on the first match.
It Fl M , Fl Fl delimiter-after
By default, the record delimiter is the newline character and is
output after the matching record.
If
Fl d
is used, the record delimiter will be output before the matching
record.
This option causes the delimiter to be output after the
matching record.
It Fl n , Fl Fl record-number
Prefix each output record with its sequence number in the input file.
The number of the first record is 1.
It Fl q , Fl Fl quiet , Fl Fl silent
Do not write anything to standard output.
Exit immediately with zero exit status if a match is found.
It Fl s , Fl Fl show-cost
Print match cost with output.
It Fl Fl show-position
Prefix each output record with the start and end offset of the first
match within the record.
The offset of the first character of the record is 0.
The end position is given as the offset of the first
character after the match.
El
Pp
With no
Ar file ,
or when
Ar file
is
Dq - ,
Nm
reads standard input.
If less than two
Ar files
are given
Fl h
is assumed, otherwise
Fl H
is the default.
Sh EXAMPLES
Dl agrep \-2 optimize foo.txt
outputs all lines in file
Pa foo.txt
that match
Dq optimize
within two errors.
E.g. lines which contain
Dq optimise ,
Dq optmise ,
and
Dq opitmize
all match.
Sh DIAGNOSTICS
Exit status is 0 if a match is found, 1 for no match, and 2 if there
were errors.
If
Fl E
or
Fl Ns Ar #
is not specified, only exact matches are selected.
Pp
Ar pattern
is a POSIX extended regular expression (ERE) with the TRE extensions.
Sh REPORTING BUGS
Report bugs to the TRE mailing list
Aq Mt [email protected] .
Sh COPYRIGHT
Copyright \(co 2002-2004 Ville Laurikari.
Pp
This is free software, and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute this software under certain
conditions; see the source for the full license text.