Я ищу файл .class внутри кучи баннеров.
jar tf abc.jar
работает для одного файла. Я попробовал
find -name "*.jar" | xargs jar tf
ничего не печатает. Единственное решение, о котором я могу думать, - это распаковать все, а затем искать. Есть ли способ лучше? Я нахожусь в LUnix.
Edit: При сканировании многих банок полезно печатать имя файла jar вместе с классом. Этот метод работает хорошо:
find . | grep jar$ | while read fname; do jar tf $fname | grep SchemaBuilder && echo $fname; done
Полученный результат выборки:
1572 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$1.class
1718 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$2.class
42607 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder.class
./XmlSchema-1.3.2.jar
1572 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$1.class
1718 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder$2.class
42607 Wed Jul 25 10:20:18 EDT 2007 org/apache/ws/commons/schema/SchemaBuilder.class
./XmlSchema.jar