分享好友 最新动态首页 最新动态分类 切换频道
linux 多个文件内容查找,linux - 如何搜索多个pdf文件的内容?
2024-11-09 19:47

linux - 如何搜索多个pdf文件的内容

linux 多个文件内容查找,linux  - 如何搜索多个pdf文件的内容?

我怎样才能在目录/子目录中搜索PDF文件的内容? 我正在寻找一些命令行工具。 看来grep无法搜索PDF文件。

12个解决方案

181 votes

有pdfgrep,它正如它的名字所暗示的那样。

pdfgrep -R 'a pattern to search recursively from path' /some/path

我用它进行简单搜索,效果很好。

(Debian,Ubuntu和Fedora都有软件包。)

从版本1.3.0开始,pdfgrep支持递归搜索。 自Ubuntu 12.10(Quantal)以来,这个版本在Ubuntu中可用。

Graeme answered 2019-03-18T09:54:16Z

176 votes

您的发行版应提供名为pdftotext的实用程序

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

“ - ”是将pdftotext输出到stdout而不是文件的必要条件。pdftotext和grep选项将文件名放在grep的输出中。可选的pdfgrep标志很好,告诉grep使用终端上的颜色输出。

(在Ubuntu中,pdftotext由包grep或pdfgrep提供。)

如果要使用pdfgrep不支持的GNU grep的功能,则使用pdftotext和grep的此方法优于pdfgrep。 注意:pdfgrep-1.3.x支持-C选项用于打印上下文行。

sjr answered 2019-03-18T09:53:29Z

23 votes

Recoll是一个出色的全文GUI搜索应用程序,适用于Unix / Linux,支持许多不同的格式,包括PDF。 它甚至可以将查询的确切页码和搜索项传递给文档查看器,从而允许您直接从其GUI跳转到结果。

Recoll还带有可行的命令行界面和Web浏览器界面。

Glutanimate answered 2019-03-18T09:54:48Z

11 votes

我的pdfgrep(1.3.0)的实际版本允许以下内容

pdfgrep -HiR 'pattern' /path

在做pdfgrep --help时

H:打印每个匹配的文件名。

:忽略案件区别。

R:递归搜索目录。

它在我的Ubuntu上运行良好。

arkhi answered 2019-03-18T09:55:49Z

7 votes

我做了这个破坏性的小脚本。 玩得开心。

function pdfsearch()

{

find . -iname '*.pdf' | while read filename

do

#echo -e "033[34;1m// === PDF document:033[33;1m $filename033[0m"

pdftotext -q -enc ASCII7 "$filename" "$filename."; grep -s -H --color=always -i $1 "$filename."

# remove it! rm -f "$filename."

done

}

phil answered 2019-03-18T09:56:18Z

2 votes

我有同样的问题,因此我写了一个脚本,搜索指定文件夹中的所有pdf文件的字符串,并打印与查询字符串匹配的PDF文件。

也许这会对你有所帮助。

您可以在这里下载

Paul Weibert answered 2019-03-18T09:56:58Z

2 votes

如果要使用pdftotext查看文件名,请使用以下命令

find . -name '*.pdf' -exec echo {} ; -exec pdftotext {} - ; | grep "pattern|pdf"

Aleksey Kontsevich answered 2019-03-18T09:57:26Z

2 votes

我喜欢@ sjr的答案,但我更喜欢xargs vs -exec。 我发现xargs更加通用。 例如,使用-P,我们可以在有意义的情况下利用多个CPU。

find . -name '*.pdf' | xargs -P 5 -I % pdftotext % - | grep --with-filename --label="{}" --color "pattern"

Deian answered 2019-03-18T09:57:55Z

1 votes

有一个开源的公共资源grep工具crgrep可以在PDF文件中搜索,也可以搜索其他资源,例如嵌套在档案,数据库表,图像元数据,POM文件依赖项和Web资源中的内容 - 以及这些资源的组合,包括递归搜索。

“文件”选项卡下的完整描述几乎涵盖了该工具支持的内容。

我开发了crgrep作为开源工具。

Craig answered 2019-03-18T09:58:36Z

1 votes

首先将所有pdf文件转换为文本文件

for file in *.pdf;do pdftotext "$file"; done

然后正常使用grep。 这是特别好的,因为当您有多个查询和大量PDF文件时它很快。

Martin Thoma answered 2019-03-18T09:59:09Z

0 votes

您需要一些工具,如pdf2text,首先将您的PDF转换为文本文件,然后在文本内搜索。 (您可能会遗漏一些信息或符号)。

如果您使用的是编程语言,可能会为此目的编写pdf库。 例如 Perl的[http://search.cpan.org/dist/CAM-PDF/]

Nylon Smile answered 2019-03-18T09:59:44Z

-1 votes

尝试在如上所述的简单脚本中使用'acroread'

最新文章
谷歌SEO推广课程介绍,提升网站排名,助力企业腾飞
随着互联网的不断发展,企业对网络营销的需求日益增长。在众多网络营销手段中,SEO(搜索引擎)已经成为企业提升品牌知名度、扩大市场份额的重要策略。谷歌作为全球最大的搜索引擎,其SEO推广课程备受企业关注。本文将揭秘谷歌SEO推广课程
谷歌推广该选择SEO还是Ads?谷歌技巧分享及实战
众所周知,谷歌是全球最大线上搜索引擎,已经成为消费者在进行线上购物时不可或缺的重要搜索工具,全球用户每天在谷歌上有着几十亿次的搜索行为。 所以现在越来越多的跨境丝氨酸选择在Google上投放广告,这也给卖
百度蜘蛛池教程,打造高效网站流量与排名,百度蜘蛛池教程视频
百度蜘蛛池是一种通过集中多个网站链接,吸引百度蜘蛛(搜索引擎爬虫)访问,从而提升网站流量和排名的策略。该教程视频详细介绍了如何创建和管理百度蜘蛛池,包括选择合适的网站、优化链接结构、定期更新内容等关键步骤。通过实施该教程,
揭秘SEO快排技巧,高效提升网站排名秘籍
SEO快排技术通过优化网站结构、关键词布局、外链建设等手段,实现快速提升网站排名。通过掌握快排技术,网站可在短时间内获得良好的搜索引擎排名,提高网站曝光度和流量。本文将深入解析SEO快排技术,助您快速提升网站排名。随着互联网的飞
廊坊核心词SEO策略,精准引流与网站排名提升之道
廊坊核心词SEO渠道策略主要聚焦于精准关键词优化,通过分析市场及用户需求,合理布局关键词,结合内容营销、外部链接建设等手段,实现高效引流。通过优化网站结构、提升用户体验,助力网站在搜索引擎中取得更佳排名。随着互联网的快速发展
百度蜘蛛池收录:小旋风蜘蛛池使用指南,轻松实现高效SEO优化
小旋风蜘蛛池使用指南助力高效SEO优化,轻松提升网站收录。通过本指南,掌握蜘蛛池操作技巧,优化网站排名,实现快速提升网站流量。本文目录导读:小旋风蜘蛛池简介小旋风蜘蛛池安装与配置小旋风蜘蛛池使用方法注意事项随着互联网的快速发
大厂出品!百度大字版的适老化设计实战复盘
当前,我们正面临老龄化问题的严峻挑战。统计表明,中国的老龄化人口已达到 2.64 亿,且这一数据仍在持续增长,而老年人在生活、情感上都面临诸多问题。首先,老年人在视觉、听觉、肢体、认知方面都出现了不同程度的退化,无法平等地获取信
网站优化(SEO)的10大误区
前段时间大前端也有关于SEO的文章贡献给广大读者,今日,再发一文,网站优化(SEO)的10大误区。很多新手站长初次接触SEO,感受到SEO 的无穷魅力,想要做一位优秀的SEOer,然而新手朋友在
视频搬运,自媒体批量下载短视频,伪原创生成工具
初学者做二剪,首先要了解这些难题,抖音原创视频如何一次性全部下载无水印,视频剪辑如何避免搬运导致的伪原创?如何将视频画面进行批量翻转,那么用什么工具好?快手类搞笑短片我可以使用哪些软件收集,搬运短片怎么做成原创?西瓜视频如
对temu的产品联盟链接数据进行采集和分析
在电商领域,数据采集与分析的重要性 在如今竞争激烈的电商环境中,精准的数据采集与分析已经成为企业成功的关键之一。通过有效的数据处理,企业可以深入了解市场需求、优化产品展示,甚至预测消费者行为。本文将
相关文章
推荐文章
发表评论
0评