{{Short description|Approximate string matching program}} {{Lowercase title}} {{Infobox software | name = agrep | logo = <!-- Image name is enough --> | logo caption = | logo_size = | logo_alt = | screenshot = <!-- Image name is enough --> | 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 = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | programming language = C | operating system = {{Plainlist| * Unix-like * OS/2 * MS-DOS * Windows }} | 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,<ref>{{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}}</ref> for use with the Unix operating system. It was ported to OS/2, MS-DOS, and Windows.

It selects the best-suited algorithm for the current query from a multiple 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.<ref>[http://webglimpse.net/sublicensing/licensing.html WebGlimpse, Glimpse and also AGREP license] since 18.09.2014 ([http://opensource.org/licenses/ISC ISC License]).</ref>

==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.<ref>{{cite web | title=TRE - TRE regexp matching package - Features | url=http://laurikari.net/tre/about }}</ref> 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.<ref>{{cite web | title=FREJ - Fuzzy Regular Expressions for Java - Guide and Examples | url=http://frej.sf.net/rules.html }}</ref> However its syntax and matching abilities differs significantly from ones of ordinary regular expressions.

==See also== * Bitap algorithm * TRE (computing)

==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 <code>-Wno-return-type</code> to the <code>CFLAGs = -O</code> 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 Category:Unix text processing utilities Category:Software using the ISC license