我们必须在几个 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