在OS X上有一个名为EasyFind的流行应用程序,用于搜索文件内容中的字符串,或者您可以只进行名称搜索。更重要的是,它会搜索隐藏文件和包内容。
因此,我使用Spotlight API的研究让我相信无法做到这一点。我是否应该假设EasyFind在不使用任何Cocoa搜索API的情况下手动执行此操作?
如果这是真的,有没有人知道一些代码让我开始,甚至只是伪?
基本上我想构建一个应用程序,它可以在驱动器上找到每个图像,无论它在哪里或具有什么权限。这还包括图标文件。
我似乎找不到答案的另一件事是你是否可以在OS X的命令行上进行这样的搜索。
谢谢!
答案 0 :(得分:0)
在命令行中,您可以使用find
命令行工具。如果您使用root权限(sudo
)运行它,则可以访问文件系统中的所有文件。您可以将结果传递给grep
以查找文件中的字符串。您还可以使用strings
命令行工具在二进制文件中查找字符串。
在Cocoa App中实现这一点并不复杂。只是谷歌如何迭代所有的硬盘内容。 NSFileManager可能是开始挖掘的好地方。
同时查看FindAnyFile。这是一个很好的应用程序,类似于EasyFind,但只是文件属性(名称,日期等)。它没有读取文件内容。