使用rga在pdf中搜索关键字

栏目: 数据库 · 发布时间: 5年前

内容简介:我们一般会用 grep/ag/rg 在文本文件中搜索关键字. 但是某一天我想在一堆 pdf 文件中搜索关键字了怎么办才好呢?在网上搜了一下还真找到一个工具:rga(ripgrep-all)ripgrep-all 对更夸张的是,ripgrep-all 可以借助 tesseract 使用OCR技术识别图片和PDF内图片中的文字,不过由于OCR本身很慢因此默认是没有使用该能力的。可以通过

我们一般会用 grep/ag/rg 在文本文件中搜索关键字. 但是某一天我想在一堆 pdf 文件中搜索关键字了怎么办才好呢?在网上搜了一下还真找到一个工具:rga(ripgrep-all)

ripgrep-all 对 ripgrep 进行了封装,借助了其他一些程序(比如pandoc)实现了对PDF,DOCX,ODT,EPUB,SQLite数据库,MKV/MP4内嵌字幕,zip/gz压缩包等文件的正则表达式搜索

更夸张的是,ripgrep-all 可以借助 tesseract 使用OCR技术识别图片和PDF内图片中的文字,不过由于OCR本身很慢因此默认是没有使用该能力的。可以通过 --rga-adapters=+pdfpages,tesseract 来启用该能力。

比如,我要在一堆pdf书籍中搜索包含 Philosophy 的内容,

rga -i Philosophy ~/ebooks/*.pdf |head

/home/lujun9972/ebooks/Automate it.pdf:Page 20: philosophy, and provides you with the knowledge required to develope your own APIs. It /home/lujun9972/ebooks/Automate it.pdf:Page 52: asynchronous philosophy. The following code represents an asynchronous server /home/lujun9972/ebooks/Automate it.pdf:Page 53: But what is asynchronous about this? In fact, tornado works on the philosophy of a single- /home/lujun9972/ebooks/Automate it.pdf:Page 147: works on the philosophy of TwiML, also known as the Twilio markup language. /home/lujun9972/ebooks/Automate it.pdf:Page 155: and-forward philosophy. Today, e-mail messages are stored asynchronously on the servers /home/lujun9972/ebooks/Automate it.pdf:Page 264: The python-telegram-bot module works on standard event-driven philosophy. A bot /home/lujun9972/ebooks/Beginning RPG Maker MV, 2nd Edition.pdf:Page 78: book, as my design philosophy here is to learn the engine). Creating a game with the engine just happens /home/lujun9972/ebooks/Beginning RPG Maker MV, 2nd Edition.pdf:Page 78: entries ourselves, of course! It’s a great opportunity for me to delve into basic RPG game design philosophy, /home/lujun9972/ebooks/Blogging For Dummies, 6th Edition.pdf:Page 19: that forgives mistakes unless you try to hide them. In keeping with the philosophy /home/lujun9972/ebooks/Build Your Own PaaS with Docker.pdf:Page 107: ease of use. Their philosophy gives a hint why:

而且 ripgrep-all 会对搜索过得内容进行缓存,因此你会发现第一次搜索时会比较慢,但是第二次搜索时会明显快很多。但你可以通过 --rga-no-cache 选项来禁止缓存

ripgrep-all借助的外部 工具 和支持的文件类型包括:

ffmpeg
从mkv,mp4,avi视频文件中抽取元数据和字幕
pandoc
将 epbu,odt,docx,fb2,ipynb 转换成markdown文本文件进行搜索
pdftotext
从pdf中抽取纯文本进行搜索
各种解压缩程序
读取zip,tgz,tbz2,gz,bz2,xz,zst,tar压缩包中的内容进行搜索
sqlite
sqlite 数据库(db,db3,sqlite,sqlite3)转换成纯文本格式进行搜索
tesseract
通过OCR技术将jpg,png图片中的内容抽取出来
pdfpages
将pdf转换成png文件,需要跟 tesseract 连用将图片中的内容抽取出来。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

阿里传

阿里传

波特·埃里斯曼 / 张光磊、吕靖纬、崔玉开 / 中信出版社 / 2015-9-15 / CNY 49.00

你只知道阿里巴巴故事的中国部分,而这本书会完整呈现故事的全部。 波特•埃里斯曼是阿里巴巴创业时期为数不多的外国高管。他于2000~2008年在阿里巴巴担任副总裁,这本书记录了他在阿里巴巴8年的时间里的创业故事、商业经验以及在阿里巴巴和马云、蔡崇信、关明生等阿里巴巴早期团队并肩奋战的故事。 在波特眼中,阿里巴巴的成功经验和模式是可以复制的,阿里巴巴曾经犯过的错误,走过的弯路,我们也可以绕......一起来看看 《阿里传》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码