分享好友 最新动态首页 最新动态分类 切换频道
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)对于企业在线可见性和品牌建设至关重要,尤其是在竞争激烈的市场环境中,如中国西南地区的经济中心——重庆。为了有效提升网站排名,吸引目标客户,利用专业的SEO关键词工具成为了许多企业和SEO从业
打造吸睛力MAX的文章标题,网络推广优化秘籍大公开
在网络推广优化中,打造吸引眼球的精彩文章标题需遵循以下策略:抓住关键词,确保标题与内容高度相关;运用疑问句、数字或特殊符号,增加标题的吸引力;创造性地使用比喻、夸张等修辞手法,使标题更具趣味性;简洁明了,避免冗长,确保读者
英文简历模板:打造专业求职文档
简历是求职者向潜在雇主展示自己的第一份文件。它需要清晰地传达求职者的职业背景、技能和成就,以便吸引雇主的注意并获得面试机会。一个精心编写的简历能够在众多申请者中脱颖而出,因此了解其基本构成和框架至关重要。英文简
全方位品牌曝光度提升,关键词推广优化营销策略解析
本文针对关键词推广优化策略,详细阐述了全方位提升品牌曝光度的方法。通过精准定位、内容营销、多渠道推广等手段,有效提升品牌知名度和市场份额。策略包括优化关键词、提升内容质量、利用社交媒体等,助力企业实现品牌价值最大化。随着互
GPT-4.0来袭:人工智能新纪元即将开启
1.1 计算效率 GPT-4o在计算效率上有了显著提升。这意味着它可以在同样的硬件资源下处理更多的请求,或在相同时间内完成更多的任务。这对于高并发应用场景(如大型客服系统)来说尤为重要。 1.2 响应速度 由于优化了底层
最新寄生虫站群 揭秘最新寄生虫站群:网络生态新威胁
警惕“最新寄生虫站群”:一场网络黑帽SEO的隐秘之战在当今这个数字化时代,互联网已经成为人们获取信息、交流思想、开展业务的重要平台然而,随着网络技术的飞速发展,一些不法分子也利用技术手段进行非法活动,其中,“最新寄生虫站群”
百度蜘蛛池优化:深度解析搜狗收录蜘蛛池代运营,助力网站优化,提升流量转化
深度解析搜狗收录蜘蛛池代运营,助力网站优化。通过百度蜘蛛池优化,有效提升网站流量和转化率,实现高效SEO推广。本文目录导读:什么是搜狗收录蜘蛛池代运营?搜狗收录蜘蛛池代运营的优势搜狗收录蜘蛛池代运营的操作方法如何有效提升网站
四、怎么样选择适合本身的文档智能写作软件
文档智能写作软件盘点:哪些软件更胜一筹?在数字化时代的浪潮中人工智能()技术正以前所未有的速度发展渗透到了咱们生活的各个领域。在写作领域文档智能写作软件以其高效、智能的特点成为了广大写作者和创作者的得力助手。本文将为您介绍
相关文章
推荐文章
发表评论
0评