在保留文件名的情况下搜索 *.gz 文件
Search through *.gz files with keeping the file name
假设我有多个 .gz
文件,我想在其中搜索关键字。我可以通过将 zcat
结果传递给 grep
来做到这一点,如下所示:
zcat some.file.* | grep "keyword_1" | ... | grep "keyword_n"
此命令的输出只是匹配行,其中不包含文件名。有什么方法可以将文件名附加到 zcat
输出?
尝试 zgrep
而不是 zcat
:
zgrep -H keyword some.file.*
如果您想使用 egrep
进行模式匹配:
export GREP=egrep
zgrep -H -e "(keyword1|keyword2)" some.file.*
假设我有多个 .gz
文件,我想在其中搜索关键字。我可以通过将 zcat
结果传递给 grep
来做到这一点,如下所示:
zcat some.file.* | grep "keyword_1" | ... | grep "keyword_n"
此命令的输出只是匹配行,其中不包含文件名。有什么方法可以将文件名附加到 zcat
输出?
尝试 zgrep
而不是 zcat
:
zgrep -H keyword some.file.*
如果您想使用 egrep
进行模式匹配:
export GREP=egrep
zgrep -H -e "(keyword1|keyword2)" some.file.*