ゴフィス

Gofis は、ファイル システム内のファイルを迅速に検索するための軽量のコマンド ライン ツールです。
Go で書かれており、並列処理 (ゴルーチン) を多用しているため、特に効率的です。
大規模なディレクトリやプロジェクトを操作する場合。

プロジェクトは GitHub で入手できます。
https://github.com/demensdeum/gofis

🧠 Gofis とは

Gofis は、名前、拡張子、または正規表現でファイルを検索するための CLI ユーティリティです。
find のような古典的なツールとは異なり、gofis は独自に設計されました
速度、読みやすい出力、およびディレクトリの並列処理に重点を置いています。

プロジェクトは MIT ライセンスに基づいて配布されており、自由に使用できます
個人的および商用目的。

⚙️ 主な機能

  • ゴルーチンを使用した並列ディレクトリ トラバーサル
  • ファイル名と正規表現で検索
  • 拡張子によるフィルタリング
  • 重いディレクトリ (.git、node_modules、vendor) を無視する
  • 人間が判読できるファイル サイズの出力
  • 最小限の依存関係と高速なビルド

🚀 インストール

動作するには Go がインストールされている必要があります。

git clone https://github.com/demensdeum/gofis
cd gofis
go build -o gofis main.go

ビルドしたら、バイナリを直接使用できます。

リリース ページには、Windows の最新バージョン用のスタンドアロン バージョンもあります。
https://github.com/demensdeum/gofis/releases/

🔍 使用例

ファイルを名前で検索します。

./gofis -n "config" -e ".yaml" -p ./src

クイック位置検索:

./gofis "main" "./projects" 50

正規表現を使用して検索します。

./gofis "^.*\.ini$" "/"

🧩 仕組み

Gofis は Go の競争モデルに基づいています。

  • 各ディレクトリは個別の goroutine で処理されます
  • セマフォを使用してアクティブなタスクの数を制限します
  • チャネルは検索結果の送信に使用されます

このアプローチにより、CPU リソースを効率的に使用できます。
また、大きなファイル ツリーの検索が大幅に高速化されます。

👨‍💻 Gofis は誰に適していますか?

  • 大規模なリポジトリを扱う開発者
  • DevOps およびシステム管理者
  • 端末から簡単に検索する必要があるユーザー
  • Go での同時実行性の実践的な使用法を学習している人向け

📌 結論

Gofis は、1 つのことをうまく実行できる、シンプルですが効果的なツールです。
大規模なプロジェクトでファイルを頻繁に検索し、速度を重視する場合は、
この CLI ツールは一見の価値があります。