如何使用 pdfgrep 从终端搜索 PDF 文件
2015-08-04 00:00
1381 查看
诸如 grep 和 ack-grep 之类的命令行工具对于搜索匹配指定正则表达式的纯文本非常有用。但是你有没有试过使用这些工具在 PDF 中搜索?不要这么做!由于这些工具无法读取PDF文件,因此你不会得到任何结果。它们只能读取纯文本文件。
顾名思义,pdfgrep 是一个可以在不打开文件的情况下搜索 PDF 中的文本的小命令行程序。它非常快速 —— 比几乎所有 PDF 浏览器提供的搜索更快。
我对 Python 3.6 官方文档运行该命令。下图是结果。
红色高亮显示所有遇到单词 “queue” 的地方。在命令中加入
所支持的选项的完整列表可以在 man 页面或者
via: https://www.maketecheasier.com/search-pdf-files-pdfgrep/
顾名思义,pdfgrep 是一个可以在不打开文件的情况下搜索 PDF 中的文本的小命令行程序。它非常快速 —— 比几乎所有 PDF 浏览器提供的搜索更快。
grep和
pdfgrep的最大区别在于
pdfgrep对页进行操作,而
grep对行操作。
grep如果在一行上找到多个匹配项,它也会多次打印单行。让我们看看如何使用该工具。
安装
对于 Ubuntu 和其他基于 Ubuntu 的 Linux 发行版来说,这非常简单:对于其他发行版,只要在包管理器里输入 “pdfgrep” 查找,它就应该能够安装它。万一你想浏览其代码,你也可以查看项目的 GitLab 页面。sudo apt install pdfgrep
测试运行
现在你已经安装了这个工具,让我们去测试一下。pdfgrep命令采用以下格式:
pdfgrep [OPTION...] PATTERN [FILE...]
OPTION是一个额外的属性列表,给出诸如
-i或
--ignore-case这样的命令,这两者都会忽略匹配正则中的大小写。
PATTERN是一个扩展正则表达式。
FILE如果它在相同的工作目录就是文件的名称,或文件的路径。
我对 Python 3.6 官方文档运行该命令。下图是结果。
红色高亮显示所有遇到单词 “queue” 的地方。在命令中加入
-i选项将会匹配单词 “Queue”。请记住,当加入
-i时,大小写并不重要。
其它
pdfgrep有相当多的有趣的选项。不过,我只会在这里介绍几个。
-c或者
--count:这会抑制匹配的正常输出。它只显示在文件中遇到该单词的次数,而不是显示匹配的长输出。
-p或者
--page-count:这个选项打印页面上匹配的页码和页面上的该匹配模式出现次数。
-m或者
--max-count[number]:指定匹配的最大数目。这意味着当达到匹配次数时,该命令停止读取文件。
所支持的选项的完整列表可以在 man 页面或者
pdfgrep在线文档中找到。如果你在批量处理一些文件,不要忘记,
pdfgrep可以同时搜索多个文件。可以通过更改
GREP_COLORS环境变量来更改默认的匹配高亮颜色。
总结
下一次你想在 PDF 中搜索一些东西。请考虑使用pdfgrep。该工具会派上用场,并且节省你的时间。
via: https://www.maketecheasier.com/search-pdf-files-pdfgrep/
相关文章推荐
- 在Linux下如何修改Mysql的用户(root)的密码
- 详解ASP.NET七大身份验证方式以及解决方案
- 浅谈python多线程和队列管理shell程序
- python利用装饰器进行运算的实例分析
- Python实现字典的key和values的交换
- 使用python加密自己的密码
- python利用datetime模块计算时间差
- 合并百度影音的离线数据( with python 2.3)
- Python利用ansible分发处理任务
- 解决Python传递中文参数的问题
- python删除列表内容
- python函数局部变量用法实例分析
- 将Python代码打包为jar软件的简单方法
- Python简明入门教程
- python函数形参用法实例分析
- Python中return语句用法实例分析
- PHP合并discuz用户脚本的方法
- 实现SQL分页的存储过程代码
- 测试mysql查询中参数整形和字符串类型错误索引使用情况
- 设置Git文件名大小写敏感