Банки - это просто zip-файлы, так что это хорошая отправная точка.
unzip -p myfile.jar | grep "Error message"
, кажется, работает, однако при распаковке могут печататься управляющие символы, что может испортить вашу текущую консоль. Было бы лучше на самом деле разархивировать файлы в каталог и запустить строки на нем. Вероятно, что-то вроде этого будет работать
for file in `ls *.jar`
do
echo $file
unzip -ol $file | awk '{ print $4 }' > extracted && cat extracted | xargs strings | grep "ERROR MESSAGE" && cat extracted | xargs rm -rf
done
Могу поспорить, что есть более эффективный способ сделать это, я уверен, что некоторые гуру сценариев помогут мне это исправить