有没有办法使用 grep 搜索 PDF 文件,而无需先在 Ubuntu 中转换为文本?
我正在使用脚本定期下载将原始 .eml 压缩为 .gz 文件的 gmail 邮件。该脚本为每一天创建一个文件夹,然后将每条消息压缩到其自己的文件中。
我想要一种在这个档案中搜索“字符串”的方法。
单独的 Grep 似乎无法做到这一点。我也试过 SearchMonkey。
在 zsh 中,我知道我可以使用Ctrl+搜索历史记录r。然而,我经常开始直接在提示符下键入命令,但随后意识到我应该搜索历史记录。当我点击Ctrl+ 时r,它会显示一个空白的历史搜索提示,如下所示:

请注意我的提示中有文本,但历史搜索提示中没有。如何使用提示中已有的文本开始历史搜索,如下所示:

当您在 less 中使用/向前搜索或?向后搜索时,文件的所有实例都会突出显示。在找到我要查找的单词的实例后,取消突出显示某些内容的最正确方法是什么?
目前我只是按/然后将乱码混入输入字段。没有结果=没有亮点!
我正在寻找类似于 vim:nohl功能的东西,更少。
我知道这个命令:
find /path/to/mountpoint -inum <inode number>
Run Code Online (Sandbox Code Playgroud)
但这是一个非常缓慢的搜索,我觉得必须有一种更快的方法来做到这一点。有人知道更快的方法吗?
在 Windows 上有一个很好的文件搜索引擎,叫做Everything,它(不像find)非常快并且(不像locate)总是返回最新的结果。AFAIK 它通过从 NTFS 日志填充数据库来工作(它不适用于其他文件系统)。
我想知道 Linux(ext3 或 ext4)是否有类似的东西(我不关心 GUI;我的观点是速度和最新的保证);我用谷歌搜索但一无所获。可以做这样的事情,或者甚至有人在做吗?
我必须对一些行长度超过几千个字符的 JSON 文件进行 grep。如何限制 grep 在匹配的左侧和右侧显示最多 N 个字符的上下文?除了 grep 之外的任何工具都可以,只要它在常见的 Linux 包中可用。
这将是示例输出,对于虚构的 grep 开关?:
$ grep -r foo *
hello.txt: Once upon a time a big foo came out of the woods.
$ grep -? 10 -r foo *
hello.txt: ime a big foo came of t
Run Code Online (Sandbox Code Playgroud) 看来我在滥用grep/ egrep。
我试图在多行中搜索字符串,但找不到匹配项,而我知道我要查找的内容应该匹配。最初我认为我的正则表达式是错误的,但我最终读到这些工具是按行运行的(而且我的正则表达式是如此微不足道,这不可能是问题)。
那么,应该使用哪种工具来跨多行搜索模式呢?
是否有全文索引引擎之类的东西,可以从命令行查询,理想情况下根本不需要使用 gui?
我对索引我的电子书和论文特别感兴趣,所以这是 pdf、epub 和一些 djvu 的混合。(Open)Office 文档会很好,但在我的列表中要低得多。
search ×10
grep ×4
files ×3
command-line ×1
compression ×1
file-search ×1
filesystems ×1
find ×1
inode ×1
journaling ×1
json ×1
less ×1
locate ×1
pdf ×1
recursive ×1
zsh ×1