Vous souhaitez rechercher un fichier dans un ensemble de fichiers jar. Comment cela peut-il être fait dans Ubuntu Termianl?
Je comprends que vous souhaitez rechercher un fichier spécifique - et non rechercher une chaîne dans un fichier dans l'archive .jar.
Une autre option, sans zipgrep, juste avec Zip, sed et amis. Supposons que vous souhaitiez parcourir les fichiers jar dans le répertoire courant:
for i in *.jar ; do unzip -l "$i" | sed "s?.*?$i: &?" ; done | grep "filetofind"
Pour rechercher à partir du terminal, voyez ceci Post
Pour ce faire à partir de l'interface graphique, téléchargez jar-Explorer . Une fois téléchargé, appuyez simplement sur Ctrl+Alt+T sur votre clavier pour ouvrir Terminal. Lorsqu'il s'ouvre, exécutez la ou les commandes ci-dessous:
Java -jar jarexplorer-0.7-BETA.jar
Vous devriez pouvoir utiliser zipgrep pour faire ceci et plus (il recherchera à l'intérieur des fichiers).
Avertissement: Non testé, n'hésitez pas à voter si cela n'a pas fonctionné.
Pour rechercher la chaîne 'qawas' à l'intérieur du pot
find . -iname '*.jar' -printf "unzip -c %p | grep -q 'qawas' && echo %p\n" | sh
ou utilisez ci-dessous pour trouver quelle classe utiliser
find . -iname '*.jar' -print | while read jar; do
echo "$jar:"
unzip -qq -l $jar | sed 's/.* //' | while read cls; do
unzip -c $jar $cls | grep -q 'Tag read' && echo " "$cls
done
done