2013-04-28 121 views
2

我從一個免費庫中下載了一定數量的PDF,我不時搜索。爲此,我想使用一個執行'mdfind'命令的shell腳本。 由於我的計算機上有很多PDF文件,我不希望kMDItemTextContent在每個PDF文件上執行。我只想搜索某些PDF文件。mdfind缺少結果

我的問題是,當我聚光燈搜索這些PDF時 - 例如它們在文件名中都有某個單詞 - 所有13個PDF都會在結果中彈出,但是當我使用mdfind在某個特定的文檔中搜索PDF時文件夾,只顯示2個。

下面是我用:

mdfind -onlyin '/Users/folder/folder/folder with spaces/' 'kMDItemContentTypeTree=="com.adobe.pdf"' 

誰能告訴我爲什麼?

UPDATE:以上僅是尋找合適的PDF文件,不是實際的文本搜索..

回答

3

mdfind還缺少一些PDF文件在我的書夾:

$ comm -3 <(printf %s\\n ~/Documents/books/**/*.pdf | sort) <(mdfind -onlyin ~/Documents/books kMDItemContentType=com.adobe.pdf | sort) | wc -l 
     6 

mdimport ~/Documents/books沒」沒有幫助,但是在我用sudo mdutil -Ea重建Spotlight索引後發現所有這些文件。

+0

實際上,Spotlight索引的重建解決了手頭的問題,之後我列出了所有結果,但是,這導致了另一個問題。 就像我在原文中所說的,我想在將我的搜索範圍縮小到一定的PDF集合後搜索PDF的內容。 因此,重建索引時沒有索引PDF的內容,所以我無法在我的mdfind查詢中使用kMDItemTextContent。 Mdimport解決了proplem。我懷疑PDF的大小與此有關,因爲一般來說,PDF的內容被編入索引.....不是嗎?! :) – ppseprus 2013-04-28 14:58:39