如何在多个 jar 中搜索一个文件

如何在多个 jar 中搜索一个文件

想要在一组 jar 文件中搜索一个文件。如何在 ubuntu termianl 中做到这一点?

答案1

我理解你想寻找一个特定的文件——而不是搜索一个字符串之内.jar 档案中的一个文件。

另一个选项,不使用 zipgrep,只使用 zip、sed 和相关工具。假设您想查看当前目录中的 jar 文件:

for i in *.jar ; do unzip -l "$i" | sed "s?.*?$i: &?" ; done | grep "filetofind"

答案2

要从终端搜索,请参见此邮政

要从 GUI 执行此操作,请下载jar 资源管理器。下载后,只需按下键盘上的Ctrl++即可打开终端。打开后,运行以下命令:AltT

java -jar jarexplorer-0.7-BETA.jar

答案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

相关内容