2011-11-22 90 views
1

当定义选项“-l”时,grep或egrep显示匹配文件的文件名。zgrep - 列表匹配的文件名

但是,我有一个巨大的文件(tar.gz),其中包含数千个文件,我需要找出哪些文件包含模式。问题是:

zgrep -la testPattern HugeFile.tar.gz 

只给出了tar.gz文件的名称,而不是它中的文件,它与模式匹配。

这似乎是一个bug,但也许我误解了一些东西......有没有人知道如何做到这一点没有gunzipping或untare存档?

回答

1

zgrep是使用gzip文件到标准输出和管道解压到grep的shell脚本。它不能分辨tarball中的哪个文件匹配。

你可以尝试一种可能的方式:安装使用fuse和libarchive的archivemount,允许你像安装文件系统一样“挂载”tarball。那么你应该能够在安装点下grep。我以前没有尝试过,但它比为grep解压所有内容要好。