Como procurar um arquivo nos arquivos war, ear e jar recursivamente no Linux

10

Preciso procurar um arquivo (logo.png), em uma pasta que contenha arquivos war, ear e jar. Alguém pode me ajudar com o comando?

ashok_p
fonte
11
Use este comando no terminal ------> find [PATH] -name "[FILENAME]"
vembutech 11/15/15
Você quer dizer encontrar arquivos dentro do arquivo war, ear ou jar?
Kenorb # 11/15
@kenorb yes exatamente
ashok_p

Respostas:

7

Pesquisando dentro dos arquivos jar :

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

E semelhante aos arquivos war :

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

Mude foocom o texto de seu interesse (como abc.png).

Você pode pressionar:

  • n para procurar a próxima correspondência de padrão.
  • Shift+ npara pesquisar para trás,
  • /+ digite something+ Enterpara procurar outra frase.

Veja semelhante, mas no Windows: Localizando quais frascos contêm um arquivo

kenorb
fonte
se eu precisar procurar o arquivo abc.png em um arquivo de guerra, como posso fazer com o comando acima.
Ashok_p
@ashok_p Substitua Foopor abc.png.
Kenorb
1

Você pode usar o comando descompactar para este fim:

unzip -t example.war |grep filename
Romeo Ninov
fonte
-1

jar tvf foo.war | nome do arquivo grep

w33b
fonte
Embora esse trecho de código possa estar correto, a falta de QUALQUER informação de contextualização torna essa resposta inútil e inútil.
Music2myear 17/07/2018