在多个压缩文件(webapps)中查找字符串

在多个压缩文件(webapps)中查找字符串

我们必须在几个 webapps 中找到一个字符串,比如说“foobar”。

但是,一些 webapps 包含压缩文件,例如 log4j.jar。

因此,由于压缩文件,grep -IR "foobar" /pathto/tomcatroot/ 将不起作用。

unzip -c /pathto/tomcatroot/libdir/log4j.jar |grep foobar 可以解决问题,但只能针对一个文件

有没有办法对整个目录实现这一点?

答案1

对于 jar 文件你可以尝试这个:

for i in *.jar; do jar -tvf "$i" | grep  yourstring && echo "$i"; done

对于 zip 文件,你可以尝试 zcat 或 zgrep

zcat yourfile.zip |grep string

相关内容