我有一组从我想要搜索的免费图书馆下载的PDF文件。为此,我想使用一个执行'mdfind'命令的shell脚本。 由于我的计算机上有很多PDF文件,因此我不希望在每个PDF文件上执行kMDItemTextContent。我只想搜索某些特定的PDF文件。
我的问题是,当我突然搜索那些PDF时 - 例如他们的文件名中都有一个单词 - 所有13个PDF都会在结果中弹出,但是当我使用mdfind搜索特定文件夹中的PDF时,只有2出现。
以下是我使用的内容:
mdfind -onlyin '/Users/folder/folder/folder with spaces/' 'kMDItemContentTypeTree=="com.adobe.pdf"'
谁能告诉我为什么?!
更新:以上只是找到正确的PDF,而不是实际的文本搜索..
答案 0 :(得分: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索引后,它找到了所有这些文件。