首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何通过.xz压缩文件“`grep`”?

如何通过.xz压缩文件“`grep`”?
EN

Unix & Linux用户
提问于 2019-09-24 12:00:48
回答 1查看 9.5K关注 0票数 5

我正在使用(RHV),它将其所有文件记录在这个目录中:

代码语言:javascript
复制
$ pwd
/var/log/vdsm

$ ls | column -c 80 | head -10
backup          vdsm.log.34.xz      vdsm.log.69.xz
import          vdsm.log.35.xz      vdsm.log.6.xz
mom.log         vdsm.log.36.xz      vdsm.log.70.xz
mom.log.1       vdsm.log.37.xz      vdsm.log.71.xz
mom.log.2       vdsm.log.38.xz      vdsm.log.72.xz
mom.log.3       vdsm.log.39.xz      vdsm.log.73.xz
mom.log.4       vdsm.log.3.xz       vdsm.log.74.xz
mom.log.5       vdsm.log.40.xz      vdsm.log.75.xz
supervdsm.log   vdsm.log.41.xz      vdsm.log.76.xz
upgrade.log     vdsm.log.42.xz      vdsm.log.77.xz

我使用了z*工具(如zgrep & zcat )来查看.gz.Z文件,但它似乎不处理.xz压缩。

有什么简单的方法可以通过一个grep文件目录实现.xz呢?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-09-24 12:00:48

如果您查看RHEL/CentOS/Fedora发行版上的xz RPM提供的工具,这个RPM包含了一些帮助器包装脚本,您可以使用这些脚本来完成简短的工作。

识别铅

对于这样的问题,我通常从定位提供工具的RPM开始。在本例中,xz是压缩CLI,所以让我们定位它,看看RPM提供了什么:

代码语言:javascript
复制
$ type -f xz
xz is /usr/bin/xz

$ rpm -qf /usr/bin/xz
xz-5.2.2-1.el7.x86_64

现在,让我们看看它是否提供了任何名称为grep的内容:

代码语言:javascript
复制
$ rpm -ql xz | grep -E 'bin/.*grep'
/usr/bin/xzegrep
/usr/bin/xzfgrep
/usr/bin/xzgrep

确实如此。因此,让我们尝试使用xzgrep,因为这是我们在功能方面所追求的:

代码语言:javascript
复制
$ xzgrep -l ocp-app-01c *
mom.log.4
vdsm.log.2.xz
vdsm.log.81.xz

注:上面我们正在查找ocp-app-01c的出现情况,并打印包含它的文件。

使用

其用法与grep相同:

代码语言:javascript
复制
$ xzgrep --help
Usage: xzgrep [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed.

OPTIONs are the same as for 'grep'.

Report bugs to .
票数 5
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/543424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档