我想使用 pdftotext 命令在多个 pdf 文件中搜索特定关键字。通常我们可以使用以下命令在单个 pdf 文件中进行搜索:
pdftotext file.pdf - | grep keyword
但是如果我们想在多个pdf文件中进行搜索,我们该怎么办呢?
答案1
您可以使用 shell 循环:
for file in *pdf; do pdftotext "$file" - | grep keyword; done
或者,要打印在其中找到模式的 PDF 的名称:
for file in *pdf; do
echo "-----------$file----------"
pdftotext "$file" - | grep keyword
done
答案2
有一个工具可以做到这一点:pdfgrep。它在所有优秀的发行版中都可用。
pdfgrep keyword *.pdf
1这里我将“好”定义为“包括 pdfgrep”。这包括 Debian 和 Fedora。
答案3
这是一种方法:
(pdftotext file1.pdf -; pdftotext file2.pdf -;) | grep keyword
...您可以在括号内继续添加其他文件。您将无法跟踪 grep “命中”的文件,但您可以对文件的分区重复 grep,直到找到匹配的文件。