0

OS X には、ファイル コンテンツ内の文字列を検索する EasyFind と呼ばれる人気のあるアプリがあります。または、単に名前検索を行うこともできます。さらに重要なことは、隠しファイルとパッケージ コンテンツ内を検索することです。

そのため、Spotlight API を使用して調査した結果、これは不可能であると確信しました。EasyFind は、Cocoa 検索 API を使用せずにすべて手動で行っていると考えるべきでしょうか?

それが本当なら、疑似であっても、私を始めるためのコードを知っている人はいますか?

基本的に、ドライブ上のすべてのイメージを見つけるアプリを作成したいと考えています。これには、アイコン ファイルも含まれます。

答えが見つからないように見えるもう 1 つのことは、OS X のコマンド ラインでこのような検索を実行できるかどうかです。

ありがとう!

4

1 に答える 1

0

findコマンド ラインでは、コマンド ライン ツールを使用できます。root権限で実行すると、ファイルシステム内のすべてのファイルにアクセスできます(sudo)。その結果を にパイプしgrepて、ファイル内の文字列を検索できます。stringsコマンド ライン ツールを使用して、バイナリ ファイル内の文字列を検索することもできます。


これを Cocoa アプリ内に実装するのはそれほど複雑ではありません。すべてのハードドライブの内容を反復処理する方法については、Google だけを参照してください。NSFileManagerは掘り下げるのに適した場所かもしれません。


FindAnyFileもチェックしてください。これは、EasyFind に似た機能を備えた優れたアプリですが、ファイルのプロパティ (名前、日付など) のみを対象としています。ファイルの内容は読み取れません。

于 2013-08-23T17:53:58.733 に答える