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?


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


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

-1

pot tvf foo.war | grep filename


Bien que ce morceau de code puisse être correct, le manque d'informations de contextualisation rend cette réponse inutile et inutile.
music2myear
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.