Comment lire le MANIFESTE.MF fichier du POT à l'aide de Bash
J'ai besoin de lire le MANIFESTE.MF maven fichier manifeste à partir de "some.jar" à l'aide de bash
- les fichiers jar sont juste des fichiers zip.
Vous devez vous connecter pour publier un commentaire.
-q
supprimer documenté à partir de la décompression programme-c
extrait de stdoutExemple:
Alternativement, vous pouvez utiliser
-p
au lieu de-q -c
.utilisation
unzip
:qui va tranquillement (
-q
) lire le chemin META-INF/MANIFEST.MF de la jarfiles (qui est compressé en utilisant le format zip) sur la sortie standard (-c
). Vous pouvez rediriger la sortie vers une autre commande pour répondre à des questions comme " quelle est la classe principale pour ce pot:(cela supprime toutes les lignes qui ne contiennent pas la chaîne
Main-Class
, puis se sépare de la ligne à:
, ne gardant que le deuxième champ, le nom de la classe). Bien sûr, soit définir$JARFILE_PATH
de façon appropriée ou de remplacer$JARFILE_PATH
avec le chemin d'accès à un jarfiles vous intéresse.En fonction de votre distribution, installez le
unzip
paquet. Puis il suffit de problèmeCela va vider le contenu sur la sortie standard STDOUT.
HTH
D'autres ont été l'affichage sur l'utilisation de unzip-p et de la tuyauterie pour grep ou awk ou tout ce que vous avez besoin. Tout qui fonctionne pour la plupart des cas, il est intéressant de noter qu'en raison de l'72 caractères par ligne, limite de de se MANIFESTER.MF, vous avez peut-être grepping pour les clés dont les valeurs sont divisées en plusieurs lignes et sera donc très difficile à analyser. J'aimerais voir une CLI outil qui peut effectivement tirer un rendu de la valeur du fichier.
http://delaltctrl.blogspot.com/2009/11/manifestmf-apparently-you-are-just.html
$ tar xfO some.jar META-INF/MANIFEST.MF
x
extraits etO
redirige vers stdout.Remarque: ne Semble fonctionner que dans bsdtar, pas GNU tar.