2013-08-23 47 views
0

在OS X上有一個名爲EasyFind的流行應用程序,用於搜索文件內容中的字符串,或者您可以執行名稱搜索。更重要的是,它搜索隱藏文件和包內容。創建一個搜索應用程序,如EasyFind

因此,我使用Spotlight API的研究使我相信不可能做到這一點。我是否應該假設EasyFind是在不使用任何Cocoa搜索API的情況下手動完成的?

如果這是真的,有沒有人知道一些代碼讓我開始,即使只是僞?

基本上我想構建一個應用程序,它可以查找驅動器上的每個映像,而不管它在哪裏或者它擁有什麼權限。這還包括圖標文件。

還有一兩件事,我似乎無法找到一個答案,就是你是否能夠做搜索像這樣在命令行上在OS X

謝謝!

回答

0

在命令行中,您可以使用find命令行工具。如果使用root權限運行它,則可以訪問文件系統中的所有文件(sudo)。您可以將結果輸入到grep以查找文件中的字符串。您還可以使用命令行工具strings查找二進制文件內的字符串。


這在Cocoa應用程序中實現並不複雜。只是谷歌如何遍歷所有的硬盤驅動器內容。 NSFileManager可能是一個開始挖掘的好地方。


還檢查出FindAnyFile。這是一個很好的應用程序,類似於EasyFind,但只是在文件屬性(名稱,日期等)。它不讀取文件內容。

+1

是的,我實際上加載EasyFind到一個十六進制編輯器,並看到他們通過NSFileMananger做的一切。謝謝! – DeltaGroup

+1

@DeltaGroup:更簡單的方法包括'nm'和'class-dump'。 –