如何在目录/子目录中搜索PDF文件的内容?我正在寻找一些命令行工具。似乎grep无法搜索PDF文件。
grep
您的发行版应提供一个名为的实用程序pdftotext:
pdftotext
find /path -name '*.pdf' -exec sh -c 'pdftotext "{}" - | grep --with-filename --label="{}" --color "your pattern"' \;
要使pdftotext输出到stdout,而不是文件,必须使用“-”。在--with- filename和--label=选项将在grep的输出把文件名。可选--color标志不错,它告诉grep使用终端上的颜色进行输出。
--with- filename
--label=
--color
(在Ubuntu中,pdftotext由xpdf-utils或提供poppler-utils。)
xpdf-utils
poppler-utils
这种方法,使用pdftotext和grep,拥有一个优势pdfgrep,如果你想使用GNU的特点grep是pdfgrep不支持。 注意 :pdfgrep-1.3.x支持-C打印上下文行的选项。
pdfgrep
-C