我有一堆 PDF 文件,我的 Perl 程序需要对它们进行全文搜索以返回哪些包含特定字符串。迄今为止,我一直在使用这个:
my @search_results = `grep -i -l \"$string\" *.pdf`;
其中 $string 是要查找的文本。然而,这对于大多数 pdf 文件来说都失败了,因为文件格式显然不是 ASCII。
我能做什么最简单?
澄清:大约有 300 个 pdf 的名称我事先不知道。PDF::Core 可能是矫枉过正。我试图让 pdftotext 和 grep 相互配合,因为我不知道 pdf 的名称,我还找不到正确的语法。
使用 Adam Bellaire 的以下建议的最终解决方案:
@search_results = `for i in \$( ls ); do pdftotext \$i - | grep --label="\$i" -i -l "$search_string"; done`;