分享好友 最新动态首页 最新动态分类 切换频道
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'

最新文章
怎样关闭百度推送信息功能-怎么关闭百度的推送功能
在当今数字化的时代,我们常常会被各种推送信息所困扰,其中百度推送信息也可能会在不经意间打扰到我们的生活,究竟怎样关闭百度推送信息功能呢?下面就为大家详细介绍。打开百度浏览器,在浏览器的右上角找到设置图标,通常是一个齿轮状的
ai生成影视解说文案技巧教程:自动生成器与使用
在数字化浪潮的推动下人工智能技术已经渗透到影视行业的方方面面。影视解说文案作为影片推广的要紧环节其优劣直接关系到观众的兴趣和影片的票房。如今生成影视解说文案的技术应运而生它不仅可以增进工作效率还能保证文案的优劣和创新性。本
guid硬盘格式如何设置bios
文章目录浅谈分区格式MBR与GPT区别前言一、硬盘的物理结构二、MBR是什么?三、GPT是什么?总结 电脑硬盘分区格式一共有两种,一种是GUID(GPT),一种是MBR。 这里先介绍硬盘的物理结构: 磁头(Heads):每张磁片的正反两面各有一个磁头,一
体验革命性的创作工具:AI写作软件永久免费版!
ai写作软件的免费版正式发布了!这款神奇的创作工具将带来完全颠覆性的写作体验,让你在写作领域中事半功倍。不仅如此,这个免费版更是享受永久免费的待遇,真可谓诚意满满。AI写作软件的理念是结合人工智能和自然语言处理技术,为用户提供
全面解析AI智能文案生成器:功能、应用及用户体验分享
在科技的浪潮推动下人工智能()已经渗透到咱们生活的方方面面文案写作也不例外。智能文案生成器作为现代商业中的新兴力量正在改写着内容创作的传统规则。本文将从功能、应用和使用者体验三个方面全面解析智能文案生成器的发展现状与未来趋
火出圈的ChatGPT,如何让安全检测更智能
ChatGPT(Chat Generative Pre-trained Transformer)是一款美国OpenAI研发的聊天机器人程序,能够通过理解和学习人类语言来进行对话,根据聊天的上下文与使用者互动,真正像人类一样聊天交流。它甚至能完成
GP人工智能网页版的易用性分析
GP人工智能网页版的易用性分析可以从以下几个方面进行详细探讨:个性化推荐:通过分析用户的浏览历史、兴趣偏好等数据,智能网页能够为用户提供个性化的内容推荐,提升用户体验。以GPD人工智能网页版为例,它利用先进的推荐算法,根据用户
预告丨跨年狂欢,来殷墟就够了!
与万千同城网友一起聚焦安阳!建站18年 | 关注民生丨服务生活点此亲启致过去一年亲爱的自己站在岁末的路口回首望去每个人都走过了一段时光的路有过春日里的希望萌动也有夏日骄阳下的炽热奔忙可能秋日的落叶写着失落与怅惘但是只要把掌心贴
普通下载url与迅雷快车旋风下载地址转换原理分析
例如华军winrar 3.71的下载地址是普通下载url与迅雷快车旋风下载地址转换原理分析_千里疯狂 http://p2s.newhua.com/down/wrar371sc.exe 1、普通地址转换为迅雷地址 在原地址前面加”AA”,后面加”ZZ”(注:不包括引号),
相关文章
推荐文章
发表评论
0评