Agrep
{{lowercase|title=agrep}}
{{Infobox software
| name = agrep
| logo =
| logo caption =
| logo_size =
| logo_alt =
| screenshot =
| caption =
| screenshot_size =
| screenshot_alt =
| collapsible =
| developer = {{Plainlist|
- Udi Manber
- Sun Wu
}}
| released = {{Start date and age|1988}}
| discontinued =
| latest release version = 3.41.5
| latest release date =
| latest preview version =
| latest preview date =
| programming language = C
| operating system = {{Plainlist|
}}
| platform =
| size =
| language =
| language footnote =
| genre = Pattern matching
| license = [https://raw.githubusercontent.com/Wikinaut/agrep/master/COPYRIGHT ISC open source license]
| standard =
| website = {{URL|http://www.tgries.de/agrep}}
}}
agrep (approximate grep) is an open-source approximate string matching program, developed by Udi Manber and Sun Wu between 1988 and 1991,{{cite conference |title=Agrep -- a fast approximate pattern-matching tool |last1=Wu |first1=Sun |last2=Manber |first2=Udi |date=20–24 January 1992 |location=San Francisco, California |conference=1992 Winter USENIX Conference |citeseerx = 10.1.1.89.5424}} for use with the Unix operating system. It was later ported to OS/2, DOS, and Windows.
It selects the best-suited algorithm for the current query from a variety of the known fastest (built-in) string searching algorithms, including Manber and Wu's bitap algorithm based on Levenshtein distances.
agrep is also the search engine in the indexer program GLIMPSE. agrep is under a free ISC License.[http://webglimpse.net/sublicensing/licensing.html WebGlimpse, Glimpse and also AGREP license] since 18.09.2014 ([http://opensource.org/licenses/ISC ISC License]).
Alternative implementations
A more recent agrep is the command-line tool provided with the TRE regular expression library. TRE agrep is more powerful than Wu-Manber agrep since it allows weights and total costs to be assigned separately to individual groups in the pattern. It can also handle Unicode.{{cite web | title=TRE - TRE regexp matching package - Features | url=http://laurikari.net/tre/about }} Unlike Wu-Manber agrep, TRE agrep is licensed under a 2-clause BSD-like license.
FREJ (Fuzzy Regular Expressions for Java) open-source library provides command-line interface which could be used in the way similar to agrep. Unlike agrep or TRE it could be used for constructing complex substitutions for matched text.{{cite web | title=FREJ - Fuzzy Regular Expressions for Java - Guide and Examples | url=http://frej.sf.net/rules.html }} However its syntax and matching abilities differs significantly from ones of ordinary regular expressions.
See also
References
{{Reflist}}
External links
- Wu-Manber agrep
- [http://www.tgries.de/agrep AGREP home page]
- [https://web.archive.org/web/20170706092701/ftp://ftp.cs.arizona.edu/agrep For Unix] (To compile under OSX 10.8, add
-Wno-return-type
to theCFLAGs = -O
line in the Makefile) - See also
- [http://laurikari.net/tre TRE regexp matching package]
- [https://web.archive.org/web/20080513225010/http://www1.bell-labs.com/project/wwexptools/cgrep/ cgrep a defunct command line approximate string matching tool]
- [http://www.dcc.uchile.cl/~gnavarro/software/ nrgrep] a command line approximate string matching tool
- [http://finzi.psych.upenn.edu/R/library/base/html/agrep.html agrep as implemented in R]
Category:Information retrieval systems