如何使用 pdfgrep 从终端搜索 PDF 文件 | Linux 中国

2018 年 1 月 20 日 Linux中国 译者:geekpi
顾名思义,pdfgrep 是一个可以在不打开文件的情况下搜索 PDF 中的文本的小命令行程序。它非常快速 —— 比几乎所有 PDF 浏览器提供的搜索更快。
-- Bruno Edoh

本文导航
编译自 | https://www.maketecheasier.com/search-pdf-files-pdfgrep/ 
 作者 | Bruno Edoh
 译者 | geekpi

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

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

安装

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

   
     
     
     
  1. sudo apt install pdfgrep

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

测试运行

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

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

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

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

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

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


pdfgrep search

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

其它

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

◈  -c 或者  --count:这会抑制匹配的正常输出。它只显示在文件中遇到该单词的次数,而不是显示匹配的长输出。
◈  -p 或者  --page-count:这个选项打印页面上匹配的页码和页面上的该匹配模式出现次数。
◈  -m 或者  --max-count [number]:指定匹配的最大数目。这意味着当达到匹配次数时,该命令停止读取文件。

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

总结

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


via: https://www.maketecheasier.com/search-pdf-files-pdfgrep/

作者:Bruno Edoh[9] 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者
geekpi 💎 💎
共计翻译: 638 篇
贡献时间:1547 天

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达




登录查看更多
1

相关内容

【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
264+阅读 · 2020年6月10日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
抖音爬虫
专知
3+阅读 · 2019年2月11日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Recurrent Fusion Network for Image Captioning
Arxiv
3+阅读 · 2018年7月31日
Arxiv
6+阅读 · 2018年7月29日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
6+阅读 · 2018年3月29日
Arxiv
20+阅读 · 2018年1月17日
VIP会员
相关VIP内容
【2020新书】从Excel中学习数据挖掘,223页pdf
专知会员服务
90+阅读 · 2020年6月28日
【实用书】Python机器学习Scikit-Learn应用指南,247页pdf
专知会员服务
264+阅读 · 2020年6月10日
【实用书】Python技术手册,第三版767页pdf
专知会员服务
234+阅读 · 2020年5月21日
【高能所】如何做好⼀份学术报告& 简单介绍LaTeX 的使用
干净的数据:数据清洗入门与实践,204页pdf
专知会员服务
161+阅读 · 2020年5月14日
【实用书】Python爬虫Web抓取数据,第二版,306页pdf
专知会员服务
117+阅读 · 2020年5月10日
【电子书】C++ Primer Plus 第6版,附PDF
专知会员服务
87+阅读 · 2019年11月25日
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
Github项目推荐 | pikepdf - Python的PDF读写库
AI研习社
9+阅读 · 2019年3月29日
Python用于NLP :处理文本和PDF文件
Python程序员
4+阅读 · 2019年3月27日
抖音爬虫
专知
3+阅读 · 2019年2月11日
Python | Jupyter导出PDF,自定义脚本告别G安装包
程序人生
7+阅读 · 2018年7月17日
浅谈浏览器 http 的缓存机制
前端大全
6+阅读 · 2018年1月21日
10个深度学习软件的安装指南(附代码)
数据派THU
17+阅读 · 2017年11月18日
相关论文
Neural Architecture Optimization
Arxiv
8+阅读 · 2018年9月5日
Recurrent Fusion Network for Image Captioning
Arxiv
3+阅读 · 2018年7月31日
Arxiv
6+阅读 · 2018年7月29日
Arxiv
11+阅读 · 2018年5月13日
Arxiv
6+阅读 · 2018年3月29日
Arxiv
20+阅读 · 2018年1月17日
Top
微信扫码咨询专知VIP会员