Comment rechercher un fichier dans les fichiers war, ear et jar de manière récursive sous Linux

10

J'ai besoin de rechercher un fichier (logo.png), dans un dossier qui contient des fichiers d'archive war, ear et jar. Quelqu'un peut-il m'aider avec la commande?

ashok_p
la source
1
Utilisez cette commande dans le terminal ------> find [PATH] -name "[FILENAME]"
vembutech
Vous voulez dire trouver des fichiers dans un fichier d'archive war, ear ou jar?
kenorb
@kenorb oui exactement
ashok_p

Réponses:

7

Recherche dans les fichiers jar :

find . -name \*.jar -exec sh -c 'printf "\n\nFile: {}"; jar tf {}' ";" | less +/foo

Et similaire avec les fichiers de guerre :

find . -name \*.war -exec sh -c 'printf "\n\nFile: {}"; unzip -l {}' ";" | less +/foo

Changez fooavec le texte de votre intérêt (comme abc.png).

Vous pouvez appuyer sur:

  • n pour rechercher la prochaine correspondance de motif.
  • Shift+ npour rechercher en arrière,
  • /+ tapez something+ Enterpour rechercher une autre phrase.

Voir similaire, mais sous Windows: recherche des fichiers contenant un fichier

Kenorb
la source
si j'ai besoin de rechercher le fichier abc.png dans une archive de guerre, comment puis-je faire avec la commande ci-dessus.
ashok_p
@ashok_p Remplacer Foopar abc.png.
kenorb
1

Vous pouvez utiliser la commande de décompression à cet effet:

unzip -t example.war |grep filename
Roméo Ninov
la source
-1

pot tvf foo.war | grep filename

w33b
la source
Bien que ce morceau de code puisse être correct, le manque d'informations de contextualisation rend cette réponse inutile et inutile.
music2myear