NAME
tre-agrep - print lines approximately matching a pattern
SYNOPSIS
tre-agrep [OPTION]... PATTERN [FILE]...
DESCRIPTION
Searches for approximate matches of PATTERN in each FILE or standard
input. Example: ‘tre-agrep -2 optimize foo.txt’ outputs all lines in
file ‘foo.txt’ that match "optimize" within two errors. E.g. lines
which contain "optimise", "optmise", and "opitmize" all match.
OPTIONS
Regexp selection and interpretation:
-e PATTERN, --regexp=PATTERN
Use PATTERN as a regular expression; useful to protect patterns
beginning with -.
-i, --ignore-case
Ignore case distinctions (as defined by the current locale) in
PATTERN and input files.
-k, --literal
Treat PATTERN as a literal string, that is, a fixed string with
no special characters.
-w, --word-regexp
Force PATTERN to match only whole words. A "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 must surround the match; they cannot be
counted as errors.
Approximate matching settings:
-D NUM, --delete-cost=NUM
Set cost of missing characters to NUM.
-I NUM, --insert-cost=NUM
Set cost of extra characters to NUM.
-S NUM, --substitute-cost=NUM
Set cost of incorrect characters to 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.
-E NUM, --max-errors=NUM
Select records that have at most NUM errors.
-# Select records that have at most # errors (# is a digit between
0 and 9).
Miscellaneous:
-d PATTERN, --delimiter=PATTERN
Set the record delimiter regular expression to 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 "\n", so by default a
record is a line. PATTERN can be any regular expression that
does not match the empty string. For example, using -d "^From "
defines mail messages as records in a Mailbox format file.
-v, --invert-match
Select non-matching records instead of matching records.
-V, --version
Print version information and exit.
-y, --nothing
Does nothing. This options exists only for compatibility with
the non-free agrep program.
--help Display a brief help message and exit.
Output control:
-B, --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.
--color, --colour
Highlight the matching strings in the output with a color
marker. The color string is taken from the GREP_COLOR
environment variable. The default color is red.
-c, --count
Only print a count of matching records per each input file,
suppressing normal output.
-h, --no-filename
Suppress the prefixing filename on output when multiple files
are searched.
-H, --with-filename
Prefix each output record with the name of the input file where
the record was read from.
-l, --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.
-n, --record-number
Prefix each output record with its sequence number in the input
file. The number of the first record is 1.
-q, --quiet, --silent
Do not write anything to standard output. Exit immediately with
zero exit status if a match is found.
-s, --show-cost
Print match cost with output.
--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.
-M, --delimiter-after
By default, the record delimiter is the newline character and is
output after the matching record. If -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.
With no FILE, or when FILE is -, reads standard input. If less than
two FILEs are given -h is assumed, otherwise -H is the default.
DIAGNOSTICS
Exit status is 0 if a match is found, 1 for no match, and 2 if there
were errors. If -E or -# is not specified, only exact matches are
selected.
PATTERN is a POSIX extended regular expression (ERE) with the TRE
extensions.
REPORTING BUGS
Report bugs to the TRE mailing list <tre-general@lists.laurikari.net>.
COPYRIGHT
Copyright © 2002-2004 Ville Laurikari.
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.