诸如 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 官方文档运行该命令。下图是结果。

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

其它

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

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

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

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

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

总结

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

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

linux搜索pdf文件,桌面应用|如何使用 pdfgrep 从终端搜索 PDF 文件相关推荐

  1. 布置到linux的文件,免费的Office套件,如何在Linux中部署OnlyOffice桌面文档编辑器...

    原标题:免费的Office套件,如何在Linux中部署OnlyOffice桌面文档编辑器 如果您是Ubuntu用户(或者一般的Linux用户),那么您很可能将LibreOffice作为默认的offic ...

  2. linux如何创建ppt文件,桌面应用|如何在 Ubuntu 和其他 Linux 发行版中创建照片幻灯片...

    创建照片幻灯片只需点击几下.以下是如何在 Ubuntu 18.04 和其他 Linux 发行版中制作照片幻灯片. 想象一下,你的朋友和亲戚正在拜访你,并请你展示最近的活动/旅行照片. 你将照片保存在计 ...

  3. linux ubuntu下怎样将pdf格式文件转换为doc格式文件,Ubuntu环境下把word文档转成pdf,把pdf文件转成jpg...

    环境搭建 使用语言 python3 安装imagemagick(pdf转jpg是内部需要调用到此工具) apt-get install imagemagick 安装libreoffice(此工具用于将 ...

  4. linux 查找字母c结尾的内容,linux如何查找以某个字母打头的文件或文件夹 比如,/etc目录下很多文件,我想列出所有以c开头的文件或文件...

    匿名用户 1级 2018-10-29 回答 ls -al |grep c* 这样就可以了,运用管道命令|. 如何使用命令行在Linux中查找文件和文件夹 1 使用查找命令,"find&quo ...

  5. 红旗linux如何开远程桌面,配置VNC服务实现红旗Linux远程桌面访问

    内容简介: VNC (Virtual Network Computing)是虚拟网络计算机的缩写,是一款优秀的远程控制工具软件,由著名的AT&T的欧洲研究实验室开发. 下面介绍在"红 ...

  6. 【Linux/Ubuntu学习3】解决ubuntu解压windows生成的zip文件时乱码问题

    在windows上压缩的文件,是以系统默认编码中文来压缩文件.由于zip文件中没有声明其编码,所以linux上的unzip一般以默认编码解压,中文文件名会出现乱码. 虽然2005年就有人把这报告为bu ...

  7. linux spyder 目录,linux下创建spyder桌面图标的方法

    linux下创建spyder桌面图标的方法 发布时间:2020-07-20 11:08:41 来源:亿速云 阅读:96 作者:清晨 小编给大家分享一下linux下创建spyder桌面图标的方法,希望大 ...

  8. r语言合并多个csv文件_PDF合并怎么做?分享多个PDF文件合并的方法

    PDF合并怎么做?我们在工作中经常会碰到多个散落独立的文件,当我们需要将它们整合在一起时该怎么办呢,是不是还有不少小伙伴会选择去打印店将文件打印出来再逐一校对?不用这么麻烦啦!只需要将这些PDF文件合 ...

  9. 文件桌面跟计算机同步删除吗,电脑里桌面文件被不慎覆盖了如何恢?

    2007-10-30 如何恢复桌面图标不小心将某个程序的桌面 Windows桌面图标是启动计算机一定程序或文档的开关,Windows桌面的图标分为两类:快捷图标和默认图标. 快捷图标主要由应用程序安装 ...

最新文章

  1. 【数据挖掘笔记二】认识数据
  2. 【Tomcat】解决GET方式传递的参数(URL中的参数)乱码问题
  3. php执行系统外部命令的四种方法
  4. Android 安装详解---Mr.Zhang
  5. Django REST framework 的快速入门教程
  6. 求数组中每个数字第一次出现的位置
  7. MySQL 支持的数据类型
  8. python基础知识-Python学习--最完整的基础知识大全
  9. vue3 中使用动画技术
  10. 查看最大的10个文件
  11. chrome 谷歌浏览器无法上网,IE浏览器可以上网
  12. linux上shc下载和安装
  13. 申请计算机助理的英语作文,助理面试英文自我介绍范文(通用5篇)
  14. windows命令提示符
  15. 使用lombok时,get/set方法冒红问题
  16. python excel模板 生成excel表格_python制作简单excel统计报表3之将mysql数据库中的数据导入excel模板并生成统计图...
  17. 2023年有哪些值得推荐的蓝牙耳机?小米|南卡|JBL等等高性价比蓝牙耳机推荐
  18. git 删除本地仓库
  19. c8815 android os,华为c8815刷机包 乐蛙OS5 完美版 0823期
  20. python 自动输入验证码_python 自动生成验证码并 输入识别

热门文章

  1. 5d4的白平衡模式_佳能5D4/5D3/6D2系列中高端单反相机和全画幅微单EOS R专题系列课程...
  2. 函数调用关系图如何画_彩铅画入门植物教程 | 如何用彩铅画一株多肉?多肉彩铅画教程步骤图详细...
  3. anaconda中的python如何进行关联分析_Anaconda、Miniconda、Conda、pip的相互关系
  4. L1-056 猜数字 (20 分)
  5. oracle表回退语句,5 Oracle笔试题
  6. python socket send_python socket 连续send,出现粘包问题
  7. linux 用脚本建分区,脚本创建磁盘分区
  8. oracle em中查看jiob,HTML5 中的 b/strong、i/em 详解
  9. bbb sdk6编译流程
  10. 禅道——需要我们斟酌