我有一堆PDF文件,我的Perl程序需要对它们进行全文搜索,以返回哪些包含特定的字符串.到目前为止,我一直在使用这个:
my @search_results = `grep -i -l \"$string\" *.pdf`;
Run Code Online (Sandbox Code Playgroud)
其中$ 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`;
Run Code Online (Sandbox Code Playgroud)