如何从.gz文件中搜索特定字符串?

use*_*034 15 linux grep gzip

我想从包含文本文件的.gz文件中搜索特定字符串,而不在linux终端中解压缩.我知道如何使用文本文件搜索字符串grep "text to search" ./myfile.txt.但是如何使它适用于.gz文件?

Rob*_*sen 34

你可以用zgrep.用法类似于grep.

zgrep "pattern" file.gz
Run Code Online (Sandbox Code Playgroud)

man页面的描述:

Zgrep在压缩或gzip压缩文件上调用grep.指定的所有选项都直接传递给grep.如果没有指定文件,则在必要时解压缩标准输入并送入grep.否则,如果需要,给定的文件将被解压缩并送到grep.


4aR*_*gh7 11

gunzip -c mygzfile.gz | grep "string to be searched"
Run Code Online (Sandbox Code Playgroud)

但是只有.gz文件包含在您的情况下为true的文本文件时,这才有效.


Ank*_*tal 6

这个问题已经得到解答,但如果您想在多个 .gz 文件中进行搜索,它可能会非常有帮助。

要搜索特定文件夹中的所有 .gz 文件,您可以使用

zgrep "yourString" *
Run Code Online (Sandbox Code Playgroud)