2013-04-28 109 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