0

在 OS X 上有一个名为 EasyFind 的流行应用程序,它可以在文件内容中搜索字符串,或者您可以只进行名称搜索。更重要的是,它在隐藏文件和包内容内部进行搜索。

所以我对使用 Spotlight API 的研究让我相信这是不可能做到的。我是否应该假设 EasyFind 是在不使用任何 Cocoa 搜索 API 的情况下手动完成这一切的?

如果这是真的,有没有人知道一些让我开始的代码,甚至只是伪代码?

基本上我想构建一个应用程序,它可以找到驱动器上的每一个图像,无论它在哪里或它拥有什么权限。这也包括图标文件。

我似乎找不到答案的另一件事是您是否可以在 OS X 的命令行上进行这样的搜索。

谢谢!

4

1 回答 1

0

在命令行中,您可以使用find命令行工具。如果您以 root 权限 ( sudo) 运行文件系统,则可以访问该文件系统中的所有文件。您可以将其结果通过管道传输grep到文件中以查找字符串。您还可以使用strings命令行工具在二进制文件中查找字符串。


这在 Cocoa App 中实现起来并不复杂。只是谷歌如何遍历所有硬盘内容。NSFileManager可能是开始挖掘的好地方。


另请查看FindAnyFile。这是一个很好的应用程序,它与 EasyFind 类似,但只是在文件属性(名称、日期等)上。它不读取文件内容。

于 2013-08-23T17:53:58.733 回答