在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文件名,即使文本是通过管道传递的。
相关推荐
Solis程序员18 分钟前
长会话状态治理(下):数据更新机制、并发保护与可复用设计原则
运维·服务器
IpdataCloud27 分钟前
跨境支付如何识别高风险IP?用IP风险画像服务选型与集成指南
服务器·网络·数据库·tcp/ip·安全
是个西兰花37 分钟前
linux:命名管道与共享内存
linux·运维·服务器·网络·c++
Snasph41 分钟前
Linux 日志流水线深度解析:syslog() → journald → rsyslog → /var/log/syslog
linux·syslog·rsyslog
凡人叶枫1 小时前
Effective C++ 条款08:别让异常逃离析构函数
java·linux·数据库·c++·嵌入式开发
新时代牛马1 小时前
内核调试方法
linux·学习
herinspace1 小时前
管家婆财工贸软件中关于价格常见问题小结
服务器·网络·数据库·电脑·管家婆软件
Sean‘1 小时前
在隔离内网机器上使用 Filebeat 全量采集日志并推送到 ELK 的实战
运维·服务器·elk
云飞云共享云桌面1 小时前
非标设计工厂8-10个SolidWorks研发共享一台高性能工作站
运维·服务器·自动化·电脑·制造
墨痕诉清风1 小时前
Linux系统设置上海时间(24小时制)
linux·运维·服务器