.xzで圧縮ファイルを「grep」する方法は?

.xzで圧縮ファイルを「grep」する方法は?

私はRed Hat Virtualization(右心室ウイルス) そして、このディレクトリにあるすべてのファイルを記録します。

$ 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*&ファイルを見ましたが、圧縮を処理できないようです。zgrepzcat.gz.Z.xz

grepファイルディレクトリを閲覧する簡単な方法は何ですか.xz

答え1

RHEL/CentOS/Fedora ディストリビューションで RPM が提供するツールを見ると、xzRPM には、このタスクをすばやく実行するために使用できるいくつかのヘルパー ラッパー スクリプトが含まれています。

視聴者の識別

このような問題の場合は、まずツールを提供する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]>.

関連情報