一尘不染

如何搜索多个pdf文件的内容?

linux

如何在目录/子目录中搜索PDF文件的内容?我正在寻找一些命令行工具。似乎grep无法搜索PDF文件。


阅读 679

收藏
2020-06-02

共1个答案

一尘不染

您的发行版应提供一个名为的实用程序pdftotext

find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;

要使pdftotext输出到stdout,而不是文件,必须使用“-”。在--with- filename--label=选项将在grep的输出把文件名。可选--color标志不错,它告诉grep使用终端上的颜色进行输出。

(在Ubuntu中,pdftotextxpdf-utils或提供poppler-utils。)

这种方法,使用pdftotextgrep,拥有一个优势pdfgrep,如果你想使用GNU的特点greppdfgrep不支持。
注意 :pdfgrep-1.3.x支持-C打印上下文行的选项。

2020-06-02