为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 pdfgrep 从终端搜索 PDF 文件

标签:
Linux

诸如 grep 和 ack-grep 之类的命令行工具对于搜索匹配指定正则表达式的纯文本非常有用。但是你有没有试过使用这些工具在 PDF 中搜索?不要这么做!由于这些工具无法读取PDF文件,因此你不会得到任何结果。它们只能读取纯文本文件。


顾名思义,pdfgrep 是一个可以在不打开文件的情况下搜索 PDF 中的文本的小命令行程序。它非常快速 —— 比几乎所有 PDF 浏览器提供的搜索更快。grep 和 pdfgrep 的最大区别在于 pdfgrep 对页进行操作,而 grep 对行操作。grep 如果在一行上找到多个匹配项,它也会多次打印单行。让我们看看如何使用该工具。


安装

对于 Ubuntu 和其他基于 Ubuntu 的 Linux 发行版来说,这非常简单:


sudo apt install pdfgrep

对于其他发行版,只要在包管理器里输入 “pdfgrep” 查找,它就应该能够安装它。万一你想浏览其代码,你也可以查看项目的 GitLab 页面。


测试运行

现在你已经安装了这个工具,让我们去测试一下。pdfgrep 命令采用以下格式:

pdfgrep [OPTION...] PATTERN [FILE...]

OPTION 是一个额外的属性列表,给出诸如 -i 或 --ignore-case 这样的命令,这两者都会忽略匹配正则中的大小写。

PATTERN 是一个扩展正则表达式。


FILE 如果它在相同的工作目录就是文件的名称,或文件的路径。


我对 Python 3.6 官方文档运行该命令。下图是结果。

pdfgrep search

pdfgrep search

红色高亮显示所有遇到单词 “queue” 的地方。在命令中加入 -i 选项将会匹配单词 “Queue”。请记住,当加入 -i 时,大小写并不重要。

其它

pdfgrep 有相当多的有趣的选项。不过,我只会在这里介绍几个。

  • -c 或者 --count:这会抑制匹配的正常输出。它只显示在文件中遇到该单词的次数,而不是显示匹配的长输出。

  • -p 或者 --page-count:这个选项打印页面上匹配的页码和页面上的该匹配模式出现次数。

  • -m 或者 --max-count [number]:指定匹配的最大数目。这意味着当达到匹配次数时,该命令停止读取文件。

所支持的选项的完整列表可以在 man 页面或者 pdfgrep 在线文档中找到。如果你在批量处理一些文件,不要忘记,pdfgrep 可以同时搜索多个文件。可以通过更改 GREP_COLORS 环境变量来更改默认的匹配高亮颜色。

总结

下一次你想在 PDF 中搜索一些东西。请考虑使用 pdfgrep。该工具会派上用场,并且节省你的时间。

编译自:https://www.maketecheasier.com/search-pdf-files-pdfgrep/作者: Bruno Edoh
原创:LCTT https://linux.cn/article-9246-1.html译者: geekpi

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消