在保留文件名的情况下搜索 *.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.*