JarScan,扫描所有子文件夹中的特定类的所有JAR文件

Irf*_*qar 9 java jar class

虽然我们有最新的部署,但我们看到正在使用旧版本的类.要扫描应用程序服务器的所有子文件夹中的所有JAR文件,我们如何编写一个小的shell脚本来打印出找到此特定类的JARS文件的文件名?

ara*_*nid 17

就像是:

find . -name '*.jar' | while read jarfile; do if jar tf "$jarfile" | grep org/jboss/Main; then echo "$jarfile"; fi; done
Run Code Online (Sandbox Code Playgroud)

你可以像这样包装它:

jarscan() {
  pattern=$(echo $1 | tr . /)
  find . -name '*.jar' | while read jarfile; do if jar tf "$jarfile" | grep "$pattern"; then echo "$jarfile"; fi; done
}
Run Code Online (Sandbox Code Playgroud)

然后jarscan org.jboss.Main将在当前目录下找到的所有jar文件中搜索该类

  • 使用'unzip -l'代替'jar'使它运行得非常快.使用'unzip -l'运行时'jar'花了72秒而4秒 (3认同)