メリークリスマス!開発環境を紹介します Advent Calendar 2024です。
今日も今日とて隙間産業。
本日紹介するのは、fd。
以前に高速なgrepとしてripgrepを紹介しましたが、今回は高速なfindになります。
fd
こちらも今更説明がいるのかと思うくらい有名なプロジェクトです。
findはご存知のとおり、ファイル検索コマンドです。
検索先と検索式を入力として受け取り、検索式にマッチするファイルを出力します。
fdはより高速でより使いやすいALT findとして生まれました。
例えばfindと比べてデフォルトで以下のように動作します。
- globパターンではなく正規表現がデフォルト
- 大文字小文字はスマートケースがデフォルト1
- 出力の色付け
- 隠しファイルを除外
- gitignoreを認識して除外
実行例
インストール方法によりますが、コマンドfd
またはfd-find
で使えます。
デフォルトでlsのような色付けがされます。
もちろん正規表現も使えます。
findとの速度比較
手元の環境にて、サイズ12GB、ファイル数330kほどのホームディレクトリで試しました。
検索するのはファイル名が4文字ピッタリのもの。
findの検索と同等にするため、fdにはオプションを付与しています。
- find
- 963.8 ms
- ripgrep
- 43.7 ms
実に21倍以上の差がついています。
はやい!
まとめ
fdの紹介でした。
findの代わりに高速なfdを使おう!
-
大文字小文字の差を基本的には無視するが、大文字始まりのアッパーキャメルを検索するときは大文字小文字を認識する。最近多いですね。 ↩