Unix/Linux中zgrep和zcat命令实例

942 阅读2分钟

在Linux和Unix中,我们有grep命令用来在日志和文本文件中搜索一个给定的字符串。

假设你有未压缩的文件,如gzip、tar gz文件,你如何在这些搜索文件中搜索一个给定的词。

Tomcat服务器以tar.gz格式存储每天的日志文件。如果你想在这些文件中搜索错误或字符串,我们可以用zgrep来搜索,用zcat来查看这些文件。

这篇文章包括以下例子

  • 在tar.gz文件中查找给定的输入字符串
  • 在包含gzip文件的嵌套文件夹中搜索字符串
  • 搜索tar文件中的一个给定的字符串
  • 如何在gz文件上使用grep命令

grep命令对tar或gz文件不起作用,有一个等同的命令叫zgrep

下面是Zgrep命令的语法

zgrep searchpattern inputgzdirectory options

searchpattern是任何普通字符串或*、? 和普通字符串的组合

inputgzdirectory是gz文件的位置

选项是可选的,如-R或-M

在一个目录中,有许多tar.gz文件,我们如何在这些文件中搜索一个特定的词。一个解决方案是解压缩.gz文件并使用grep命令。

下面是步骤

gunzip filename.gz
grep "searchword" file

另一个更好的解决方案是在unix中使用zgrep命令。

zgrep -a "search word" filename.gz

grep命令对文本文件起作用,zgrep对压缩的日志起作用。

如何搜索嵌套文件夹中的gzip文件

zgrep在当前目录中搜索gz文件。

如果你想搜索嵌套和递归的文件夹/目录,使用-R选项。

zgrep -R --include=*.gz -H "*Exception*" .

linux中的Zcat命令示例

linux中的Cat命令用于查看日志和文本文件。

Zcat与cat命令类似,但它只对tar/gz文件起作用。

Zcat命令用于查看Linux或unix中的压缩文件。

语法

zcat options gzfile

这对于查看压缩文件而不是解压缩文件很有用。

zcat filename.tar.gz

你也可以使用管道符号将内容转移到其他文件或控制台。