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

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


你的发行版应该提供一个名为pdftotext的工具:

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

“ - ”对于将pdftotext输出到标准输出而不是文件是必需的。 --with-filename--label=选项会将文件名放在grep的输出中。 可选的--color标志很好,并告诉grep使用终端上的颜色输出。

(在Ubuntu中, pdftotext由软件包xpdf-utilspoppler-utils 。)

如果您想使用pdfgrep不支持的GNU grep特性,则使用pdftotextgrep这种方法比pdfgrep优势。 注意 :pdfgrep-1.3.x支持用于打印上下文行的-C选项。


有pdfgrep,它确实如其名字所暗示的那样。

pdfgrep -R 'a pattern to search recursively from path' /some/path

我用它进行简单的搜索,它工作得很好。

(有Debian,Ubuntu和Fedora的软件包。)

从版本1.3.0开始,pdfgrep支持递归搜索。 此版本自Ubuntu 12.10(Quantal)起可用于Ubuntu。


Recoll是一款非常棒的Unix / Linux全文GUI搜索应用程序,支持数十种不同的格式,包括PDF。 它甚至可以将查询的确切页码和搜索项传递给文档查看器,从而允许您从GUI中直接跳转到结果。

Recoll还带有一个可行的命令行界面和一个网页浏览器界面。

链接地址: http://www.djcxy.com/p/65445.html

上一篇: How to search contents of multiple pdf files?

下一篇: Generating PDF files with JavaScript