コマンド
agrep
曖昧検索を行う grep
grep・egrep・fgrep は指定したパターンに厳密にマッチする行を選び出すが、agrep は曖昧検索を行い、似ている行を選び出すことができる。
「似ているかどうか」は agrep のオプションで、いくつまでのエラーの数を許容するかで指定する。
% cat file.txt
hoga
hoge
moge
fuga
% agrep -1 hoge file.txt
hoga
hoge
⇒ エラーを 1 つまで許容する
% agrep -2 hoge file.txt
hoga
hoge
moge
⇒ エラーを 2 つまで許容する
% agrep hoge file.txt
hoge
⇒ 許容するエラー数を指定しない場合は、通常の grep と同じ動作をする。
-B オプションを指定すると、ひとつずつ許容するエラー数をあげていき、マッチした段階で動作を止める
% agrep -B hogo file.txt
best match has 1 error, there are 2 matches, output them? (y/n) y
hoga
hoge
⇒ 許容エラー数 0 でマッチしなかったため、許容エラー数を 1 にあげて再検索したところ、2 つマッチした
なお、grep・egrep・fgrep は UNIX 伝統のコマンドであるが、agrep は新参者で、メンテナンスされておらず、OS 標準コマンドではない。そういう意味では agrep は grep ファミリーの仲間とは言えない。