5 ответов:
$ unzip -q -c myarchive.jar META-INF/MANIFEST.MF
-qподавит подробный вывод из программы распаковки-cраспаковывать в stdoutпример:
$ unzip -q -c commons-lang-2.4.jar META-INF/MANIFEST.MF Manifest-Version: 1.0 Ant-Version: Apache Ant 1.7.0 Created-By: 1.5.0_13-119 (Apple Inc.) Package: org.apache.commons.lang Extension-Name: commons-lang Specification-Version: 2.4 Specification-Vendor: Apache Software Foundation Specification-Title: Commons Lang Implementation-Version: 2.4 Implementation-Vendor: Apache Software Foundation Implementation-Title: Commons Lang Implementation-Vendor-Id: org.apache X-Compile-Source-JDK: 1.3 X-Compile-Target-JDK: 1.2в качестве альтернативы вы можете использовать
-pвместо-q -c.- p извлечение файлов в канал (stdout). Ничего, кроме данных файла не отправляется в stdout, и файлы всегда извлекаются в двоичном формате, так же, как они хранятся (нет преобразования.)
использовать
unzip:$ unzip -q -c $JARFILE_PATH META-INF/MANIFEST.MFчто будет тихо (
-q) прочитайте путь META-INF / MANIFEST.MF из jarfile (который сжимается с использованием формата zip) в stdout (-c). Затем вы можете передать вывод в другую команду, чтобы ответить на такие вопросы, как " что является основным классом для этого jar:$ unzip -q -c $JARFILE_PATH META-INF/MANIFEST.MF | grep 'Main-Class' | cut -d ':' -f 2(это удаляет все строки, которые не содержат строку
Main-Class, затем разбивает строку на:, сохраняя только второе поле, имя класса). Конечно, либо определить$JARFILE_PATHсоответственно или заменить$JARFILE_PATHС путем к jarfile, который вас интересует.
в зависимости от вашего дистрибутива, установить
unzipпакета. Тогда просто выдайтеunzip -p YOUR_FILE.jar META-INF/MANIFEST.MFэто приведет к сбросу содержимого в STDOUT.
HTH
другие публиковали информацию об использовании unzip-p и трубопроводов для grep или awk или все, что вам нужно. Хотя это работает в большинстве случаев, стоит отметить, что из-за ограничения 72 символов на строку манифеста.MF, вы можете быть grepping для ключей, значения которых разделены на несколько строк и поэтому будет очень трудно разобрать. Я хотел бы видеть инструмент CLI, который может фактически вытащить визуализированное значение из файл.
http://delaltctrl.blogspot.com/2009/11/manifestmf-apparently-you-are-just.html
$ tar xfO some.jar META-INF/MANIFEST.MF
xэкстракты иOперенаправляет на stdout.Примечание: кажется, работает только в bsdtar, а не GNU tar.
Comments