想要在一组 jar 文件中搜索一个文件。如何在 ubuntu termianl 中做到这一点?
答案1
我理解你想寻找一个特定的文件——而不是搜索一个字符串之内.jar 档案中的一个文件。
另一个选项,不使用 zipgrep,只使用 zip、sed 和相关工具。假设您想查看当前目录中的 jar 文件:
for i in *.jar ; do unzip -l "$i" | sed "s?.*?$i: &?" ; done | grep "filetofind"
答案2
答案3
你应该能够使用zipgrep执行这些操作以及更多操作(它将在文件内部进行搜索)。
免责声明:未经测试,如果没有效果,请随意投反对票。
答案4
在 jar 中搜索“qawas”字符串
find . -iname '*.jar' -printf "unzip -c %p | grep -q 'qawas' && echo %p\n" | sh
或者使用下面的方法来查找哪个类使用
find . -iname '*.jar' -print | while read jar; do
echo "$jar:"
unzip -qq -l $jar | sed 's/.* //' | while read cls; do
unzip -c $jar $cls | grep -q 'Tag read' && echo " "$cls
done
done