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

目录标题


方法一:pdfgrep

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

方法二:使用find和xargs与pdftotext(将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文件名,即使文本是通过管道传递的。
相关推荐
一条破秋裤17 小时前
Linux 共享内存通信:POSIX 共享内存与 mmap
linux·运维·服务器
贵州山魈羡民18 小时前
【玩转手机】通过 Podroid 上的 Alpine 部署 1Panel,把微型服务器装进口袋
运维·服务器
码林拾遗WJ19 小时前
学术 PDF 翻译工作流:从乱码到双语对照的实战记录
pdf
谷哥的小弟19 小时前
CentOS Stream浴火重生
linux·运维·centos
程序员-Benothing20 小时前
Shell输入输出详解:read、echo、printf、颜色输出
linux·运维·服务器
FPGA小徐20 小时前
从 NEMU 到 AbstractMachine:程序、运行时环境与 AM 完全解析
linux·运维·服务器
qetfw1 天前
Debian Chrony 时间同步、RAID5 与 LUKS 磁盘加密配置
linux·debian
东城居士1 天前
Linux驱动阻塞与非阻塞访问的理解
linux·嵌入式系统
..Dauntless..1 天前
【Linux】进程地址空间初步理解
linux·运维·服务器
Julien20041 天前
Docker 网络(一)
linux·运维·服务器·ssh·学习方法