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

推荐答案

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

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

要将pdftotext输出到stdout,而不是文件,则必须使用"-".

(在Ubuntu中,pdftotext由软件包xpdf-utilspoppler-utils提供.)

如果你想使用GNUgrep不支持的功能,这种使用pdftotextgrep的方法比pdfgrep有优势.Note:pdfgrep-1.3.x支持打印上下文行的-C选项.

Linux相关问答推荐

是否可以在Bash正则表达式中排除?

在同一目录中未检测到G++预编译头

Shell 脚本程序 - 从日志(log)文件中过滤磁盘空间利用率超过 80% 的行

Linux BlueZ 5.65 hcitool 结合服务 UUID 和制造数据广告

替换前 3 个字符范围内的所有整数

erlang 格式的 utf8 变为 \x(反斜杠 x)ascii 编码

构建 python 映像时 Docker compose 问题,访问被拒绝或存储库不存在

使用 sed linux 命令和 i sed 命令进行 preprend 时的反向引用

如何使用多个版本的 GCC

如何仅使用 SED 获得第二行

使用 rc.local 运行脚本:脚本有效,但在启动时无效

如何测试是否存在两个文件?

无法在 Android Studio 中清理项目

何时判断 EINTR 并重复函数调用?

在 C 中设置环境变量

SVN 错误:无法将字符串从本机编码转换为UTF-8

根据文件名模式和文件内容列出文件名?

命令行 Arduino 编译和上传?

将默认 Python 版本从 2.4 更改为 2.6

如何通过 xmllint 使用 XSD 验证 XML 文件