Z 命令的力量——Zcat、Zless、Zgrep、Zdiff 示例
在本文中,让我们回顾一下如何使用强大的 Linux Z 命令对压缩文件执行正常的文件操作。
其中一些z命令临时解压缩/tmp目录中的文件以执行指定的操作。一些z命令会动态解压缩以执行指定的操作。但是,在任何情况下,z命令都可以让您安心,因为您不必担心为了执行操作而解压缩压缩文件的开销。
可以对压缩文件进行以下正常的文件操作
- 使用 zcat 查看压缩文件。
- 使用 zless / zmore 对压缩文件进行分页。
- 使用 zgrep / zegrep 在压缩文件中搜索。
- 使用 zdiff / zcmp 比较文件
示例 1:查看压缩文件并使用 zcat 解压缩
使用 gzip 压缩文件会创建一个扩展名为 *.gz 的压缩文件。您可以通过以下方式使用 zcat 查看压缩文件。这与未压缩文件操作“cat filename”相同。zcat 解压缩文件并将其显示在标准输出中。
$ zcat filename.gz | more
$ ls -l big-file.*
-rw-r--r-- 1 ramesh ramesh 24853275 May 9 15:14 big-file.txt
$ gzip big-file.txt
[Note: Compress the file]
$ ls -l big-file.*
-rw-r--r-- 1 ramesh ramesh 9275204 May 9 15:14 big-file.txt.gz
$ zcat big-file.txt.gz
[Note: View the file without uncompressing it]
zcat big-file.txt.gz > big-file.txt
[Note: Uncompress the file]
示例 2:查看没有 gz 后缀的 gzip 文件。
您可以解压缩没有 gz 后缀的 gzipped 文件。如果您尝试使用“gunzip”或“gzip -d”命令解压缩没有 gz 后缀的 gzip 文件,您将面临以下错误。
gunzip: auth.log: unknown suffix -- ignored
但是这个 zcat 将解压缩文件并显示如下所示的内容。
$ cat > test-file.txt
This is a test file used for gunzip and zcat testing
zcat is awesome command.
$ gzip test-file.txt
$ mv test-file.txt.gz test-file-no-ext
$ gzip -d test-file-no-ext
gzip: test-file-no-ext: unknown suffix -- ignored
$ zcat test-file-no-ext
This is a test file used for gunzip and zcat testing
zcat is awesome command.
示例3:显示文件内容而不用担心是否被压缩
当您不确定文件是否被压缩时,您仍然可以查看文件而无需担心其压缩状态,如下所示。
在这个例子中,如果输入文件被压缩,zcat 将通过解压缩来显示内容。如果输入文件未压缩,zcat 将按原样显示内容。
$ zcat -f input-file
示例 4:使用 zless / zmore 对压缩文件进行分页。
您可以使用 zless 命令或 zmore 命令对压缩文件进行分页,如下所示。
$ zcat filename.gz | more
$ zcat filename.gz | less
(or)
$ zless filename.gz
$ zmore filename.gz
示例 5:使用 zgrep / zegrep 在压缩文件中搜索。
您可以使用 zgrep / zegrep 在压缩文件中进行搜索,如下所示。这与未压缩文件操作“grep -i filename”相同。zgrep 命令的所有选项都将传递给 grep,并且文件将被提供给 grep 命令。如果需要,它可以解压缩并将文件提供给 grep 命令。
$ cat > test-file.txt
gzip, gunzip, zcat - compress or expand files
zless - file perusal filter for crt viewing of compressed text
zcmp, zdiff - compare compressed files
$ grep -i less test-file.txt
zless - file perusal filter for crt viewing of compressed text
$ gzip test-file.txt
$ zgrep -i less test-file.txt.gz
zless - file perusal filter for crt viewing of compressed text
示例 6:使用 zdiff / zcmp 比较文件
您可以使用 zdiff / zcmp 比较两个压缩文件,如下所示。这与未压缩文件操作“diff file1 file2”相同。
$ cat > file1.txt
This is line one
This is line two
$ cat > file2.txt
This is line 1
This is line two
$ diff file1.txt file2.txt
1c1
< This is line one
---
> This is line 1
$ gzip file1.txt file2.txt
$ zdiff file1.txt.gz file2.txt.gz
1c1
< This is line one
---
> This is line 1
- 点赞
- 收藏
- 关注作者
评论(0)