如何在 JAR 文件中搜索字符串

新手上路,请多包涵

我的应用程序是基于 Java EE 构建的。

我在这个应用程序中有大约 50 个罐子。

是否可以搜索特定关键字(实际上我想搜索关键字 BEGIN REQUEST )?

原文由 user1253847 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
1 个回答

您可以在 Linux 或 OSX 上使用 zipgrep:

 zipgrep "BEGIN REQUEST" file.jar

如果您想搜索多个罐子,请执行

find libdir -name "*.jar" -exec zipgrep "BEGIN REQUEST" '{}' \;

其中 libdir 是包含所有 jar 的目录。该命令也将递归搜索子目录。

对于windows,可以下载cygwin并在其下安装zipgrep: http ://www.cygwin.com/

编辑 1

要查看找到表达式的文件的名称,您可以这样做,

 find libdir -name "*.jar" | xargs -I{} sh -c 'echo searching in "{}"; zipgrep "BEGIN REQUEST" {}'

编辑 2

编辑 1 的简化版本

find libdir -name "*.jar" -print -exec zipgrep "BEGIN REQUEST" '{}' \;

原文由 Kalpak Gadre 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题