Script para buscar uma classe em algum jar

As vezes queremos saber em qual jar esta uma determinada classe, então esta ai um script que irá ajuda-lo a encontrar!


#!/bin/sh

if [ -z "$2" ]
then
echo Usage: $0 Directory ClassName
exit 1
fi

for f in $(find $1 -name '*.jar')
do
jar tf $f | grep "$2" && echo "[in $f]"
done

Exemplo buscando nos modelos do wildfly-8.1.0.Final:

findinjar.sh . EntityManagerFactory.class
javax/persistence/EntityManagerFactory.class
[in modules//system/layers/base/javax/persistence/api/main/hibernate-jpa-2.1-api-1.0.0.Final.jar]
org/hibernate/ejb/HibernateEntityManagerFactory.class
org/hibernate/jpa/HibernateEntityManagerFactory.class
[in modules//system/layers/base/org/hibernate/main/hibernate-entitymanager-4.3.5.Final.jar]