在Linux系统中搜索当前路径及其子目录下所有PDF文件中是否包含特定字符串

目录标题


方法一:pdfgrep

sh 复制代码
pdfgrep -ri "rockchip" .

方法二:使用findxargspdftotext(将PDF转换为文本)组合,然后用grep搜索

这里是一个示例命令,显示了如何将这些工具组合起来搜索字符串"rockchip":

sh 复制代码
find . -name "*.pdf" -exec sh -c 'pdftotext "{}" - | grep -H --label="{}" "rockchip"' \;

这条命令将:

  • 使用find命令在当前目录及子目录中查找所有扩展名为.pdf的文件。
  • 对每个找到的PDF文件,执行sh -c启动一个新的shell来处理以下命令:
    • 使用pdftotext将PDF文件转换为文本并将结果直接传递给grep
    • 使用grep搜索"rockchip"字符串,其中-H选项会打印文件名,--label会确保在输出中使用原始的PDF文件名,即使文本是通过管道传递的。
相关推荐
Web3探索者1 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo1 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10152 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao3 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒6 天前
TShark:Wireshark CLI 功能
linux
A小辣椒6 天前
TShark:基础知识
linux
AlfredZhao6 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao7 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi