UNIX/Linuxの部屋 agrepコマンドの使い方

TOP UNIX/Linuxの部屋 UNIX/Linuxコマンド一覧 用語集 新版 由来/読み方辞書 環境変数マニュアル Cシェル変数 システム設定ファイル システムコール・ライブラリ ネットワークプログラミングの基礎知識 クラウドサービス徹底比較・徹底解説




コマンド 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 ファミリーの仲間とは言えない。