在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
你也可以使用管道符号将内容转移到其他文件或控制台。