Unix系のシステムでは、ファイルを検索する際「find」と呼ばれるコマンドラインツールが使われますが、オプションや検索パターンが直感的ではなく、特に初心者にとっては覚えにくいことが問題となります。
本日紹介する「fd」はこの問題を解決するRustで書かれたオープンソースツールです。
fdはfindの代替として設計された、シンプルで高速かつ使いやすいファイル検察ツールで、以下のような特徴を持っています:
- 直感的な構文(fd PATTERN のようにシンプル)
- 正規表現およびグロブパターンによる検索が可能
- 並列化されたディレクトリ探索による高速化(特定の場合findより約23倍高速)
- ファイルタイプのハイライト表示 (ls コマンドのように色分け)
- smart case 機能:大文字を含むパターンは大文字・小文字を区別して検索
- .gitignore に記載されたパターンを自動的に無視
以下使用方法を説明します。
目次
fdの使用方法
fdは多くのプラットフォームで利用することができ、以下の方法でインストールできます。
- Ubuntu/Debian:
apt install fd-find
- Fedora:
dnf install fd-find
- Arch Linux:
pacman -S fd
- macOS:
brew install fd
やsudo port install fd<
/li> - Windows:
scoop install fd
など
基本的な使用方法は簡単でfd PATTERN
とファイル名に一致する文字列(パターン)を指定するだけです。パターンを省略した場合はカレントフォルダ以下の全ファイルが表示されます。
実行結果は色分けされて分かりやすく表示されます。
その他以下のような使用方法があります。
- 特定のディレクトリを指定して検索: fd PATTERN /path/to/directory
- 特定のファイル拡張子を検索: fd -e md (Markdownファイルを検索)
- 実行中のコマンドに検索結果を渡す: fd -e zip -x unzip (すべての.zipファイルを解凍)
fzfやrofi、emacsと組み合わせて使うこともできます。またtreeコマンドと組み合わせるとツリー形式の出力を生成することも可能です。
❯ fd --extension rs | tree --fromfile . ├── build.rs └── src ├── app.rs └── error.rs
その他コマンドラインオプションはfd --help
で確認可能です。
まとめ
fdはシンプルで使いやすいfind互換ツールです。システムに最初から搭載されていない可能性が高いのが欠点ですが、最近人気のRustで書かれていることもあり、将来有望なツールといえそうです。