在 Debian 中,您可以使用 zgrep 来通过 gunzip 压缩的存档文件进行 grep。制作 gunzip 文件的原因很简单,诸如变更日志之类的文件非常庞大,可以进行高度压缩。问题在于 zgrep 您只能获得特定的行,而没有高于或低于信息。提供上下文信息。关于改变本身。一个例子来说明 -
usr/share/doc/intel-microcode$ zgrep Fallout changelog.gz
* Implements MDS mitigation (RIDL, Fallout, Zombieload), INTEL-SA-00223
* Implements MDS mitigation (RIDL, Fallout, Zombieload), INTEL-SA-00223
现在可以看出,我的芯片似乎受到了 RIDL、Fallout 和 Zombieload 错误的影响,这些错误似乎已被提到的软件补丁 INTEL-SA-00223 修复,但可以看出它非常不完整。
出路是使用 zless 然后 /RIDL 或任何其他关键字,然后你知道但我想知道是否有任何其他方法或者这是唯一的解决方法?FWIW 确实知道这些错误在 2019 年 5 月 14 日得到缓解,当时英特尔制作了影响这些问题和其他各种问题的软件补丁。我确实尝试使用管道使用“头部”和“尾部”,但它们都没有被证明是有效的。
Zutils(打包在 Debian 中)提供了一个更强大的版本,
zgrep
它支持所有常用的上下文参数:您可以使用
sudo apt install zutils
.这也只是一种解决方法,但是您尝试过吗
num_lines
在比赛前后显示上下文(使用-A <num_after>
和-B <num_before>
微调)?您可以使用
zcat
正常的grep
:-C3
告诉grep
提供 3 行上下文(上面 3 行,下面 3 行)。如果您想要更少的上下文,请减少它。您可以通过使用
-B<number>
和/或-A<number>
代替(分别用于“之前”和“之后”)来进一步定制。