ファイル検索をもっと楽にしましょう


FzFとは

Fzf (Fuzzy Finder) はコマンドライン用のファジーファインダー(あいまい検索)ツールです。
ファジー理論はここで説明しないですが、goo辞書からファジーの簡単な意味を引用させていただきます。

(1)境界が不明確であること。あいまいであること。柔軟性があること。また、そのさま。「ファジーな考え方」
(2) 人間の認識のあいまいな部分をコンピューターで処理する技術。

Google検索バーで文字を入力始まると、候補が下部に出てくるような感じです。

FzFのインストール

Githubからインストールできますし

https://github.com/junegunn/fzf

Homebrewから直接インストールも可能です。

$ brew install fzf

FzFを実行してみましょう

インストールを完了したら、早速実行してみましょう。例のために似たような名のいくつファイルを用意しました。

では、fzfを実行してみましょう。

$ fzf 

ファイルは以下のようにリスト化されます。

ここでファジーの方が始まります。検索結果を絞るために、文字も入力できます。例えば、example2.txtをを出力したい場合は、まずexampleから入力すると

当てはまる候補ファイル名に絞られます。ここからマウスやキーボードでファイルを選択できます。適切なファイル名にたどり着いたらENTERキーを押すと標準出力に表示されます。

ファジーファインダーだから、ファイル名に入力されている文字が存在したら、候補として表示されます。

いい感じですね。

FzFが便利になる場合

標準出力に出すだけだとあまり意味ないので、他のコマンドと組み合わせましょう。検索しているファイルを開きたい場合は、openコマンドと組み合わせて、

$ open $(fzf)

ファイルを選択してから、そのまま開けます。

もちろん、少ないファイルのディレクトリに実行すると、あまり魅力を感じないと思いますが、数百ファイルがあれば、かなり助かります。ファイルが多いと、普通のlsでもGUIから検索しても結構時間かかるので、ファジーファインダーから選択した方が楽です。

結論

fzfはファジーファインダーで、ターミナルからのファイル検索をもっと楽できるし、他のコマンドと組み合わせるともっと効率化できます。

Disclaimer

※ 日本語は母語ではないので、どこかで間違ってたらすみません。