私はコンピュータコンピュータサイエンスの学生であり、スポットライトと比較してMacでgrepを使用すると、どのような利点があるのか疑問に思います。特定のファイルがどこにあるのかわからないため、特定のファイルを検索するコマンドを実行しましたが、しばらく時間がかかりましたが、Spotlightで検索するとすぐに結果が表示されました。私はコマンドラインを使うのが好きです。 MacのUIカタログビューよりも私の人生がはるかに単純になるので、コマンドラインを最大限に活用する方法を学びたいと思います。
答え1
迅速な比較
繰り返し
grep
通常、ファイルの内容から一致するパターンを検索します。ファイルの内容を検索してみてください。grep
ファイルシステムは、指定された開始点から手動で移動する必要があります。
どのように使用するのか疑問に思いますgrep
。
find
ファイルシステムからファイルを取得するために使用される標準 *nix コマンド。マニュアルページを確認してください。これを使用する方法はさまざまです。ただし、デフォルトでは、指定された開始点でファイルシステムを参照して一致するものを探します。
索引
spotlight
検索用のOSXユーティリティです。索引ファイルのリスト。spotlight
インデックス付けに依存しているため、ファイルシステムを手動で繰り返す必要がないため、非常に高速な検索が可能です。通常、ワーカースレッドはインデックスを構築するためにこれを行います。
Spotlightの欠点は、ファイルがまだ索引付けされていない場合、ファイルが存在してもSpotlightがそのファイルを見つけることができないことです。ただし、ディレクトリがすでに索引付けされている場合は、Spotlightのパフォーマンスが優れています。
他の人
たとえば、開発プロジェクトでファイルの内容を検索する必要があり、バージョン管理を使用する場合ag
銀を探す人より速い選択肢ですgrep
。バージョン管理シナリオに適しており、無視されたファイル形式のリストに沿ってパターンを含むファイルを見つけます。
答え2
考えられる解決策として、OS Xにはlocate
インデックスを利用してファイルを検索するコマンドもあります。これはおそらく、スポットライトで見られるのと同じ検索パフォーマンスをcliで見るのに最適な方法です。データベースを設定するには、次のコマンドを実行する必要があります。
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.locate.plist
データベースを作成したら、次のものを使用できます。
locate <file>