我正在使用红帽虚拟化(右心室病毒)并将其所有文件记录在此目录中:
$ 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
?
答案1
如果您查看xz
RHEL/CentOS/Fedora 发行版上的 RPM 提供的工具,该 RPM 包含一些帮助程序包装脚本,您可以使用它们来快速完成此工作。
识别潜在客户
对于此类问题,我通常首先找到提供工具的 RPM。在本例中xz
是压缩 CLI,所以让我们找到它并看看 RPM 提供了什么:
$ type -f xz
xz is /usr/bin/xz
$ rpm -qf /usr/bin/xz
xz-5.2.2-1.el7.x86_64
现在让我们看看它是否提供了包含该名称的任何内容grep
:
$ rpm -ql xz | grep -E 'bin/.*grep'
/usr/bin/xzegrep
/usr/bin/xzfgrep
/usr/bin/xzgrep
确实如此。因此,让我们尝试使用,xzgrep
因为这就是我们在功能方面所追求的:
$ xzgrep -l ocp-app-01c *
mom.log.4
vdsm.log.2.xz
vdsm.log.81.xz
笔记:上面我们正在查找包含它的文件ocp-app-01c
并打印包含它的文件。
用法
用法与以下相同grep
:
$ 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 <[email protected]>.