grep或egrep显示匹配文件的文件名。
但是,我有一个包含数千个文件的巨大文件(tar.gz),我需要找出哪些文件包含模式。问题是:
zgrep -la testPattern HugeFile.tar.gz
只给我tar.gz文件的名称,而不是其中与文件匹配的文件。
这对我来说似乎是一个错误,但也许我误解了一些事情......有没有人知道怎么做而不会没有枪杀或解压档案?
答案 0 :(得分:4)
zgrep'ing tar.gz不会做你期望它做的事情(它有效地抓住原始tar图像)。
然而,您可以在其他问题中采用替代方法:
答案 1 :(得分:1)
zgrep是一个shell脚本,它使用gzip将文件解压缩到stdout并导入到grep中。它无法分辨tarball中的哪个文件匹配。
您可以尝试一种可能的方法:安装使用fuse和libarchive的archivemount,允许您安装" mount"一个tarball就像一个文件系统。然后你应该能够在挂载点下grep。我之前没有尝试过,但它比grep更好地解决了所有事情。