Cómo buscar un archivo en archivos war, ear y jar recursivamente en Linux

10

Necesito buscar un archivo (logo.png), en una carpeta que contenga archivos de war, ear y jar. ¿Alguien puede ayudarme con el comando?

ashok_p
fuente
1
Use este comando en la terminal ------> find [PATH] -name "[FILENAME]"
vembutech
¿Te refieres a encontrar archivos dentro del archivo de guerra, oído o archivo jar?
kenorb
@kenorb sí exactamente
ashok_p

Respuestas:

7

Buscando dentro de los archivos jar :

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

Y similar con los archivos de guerra :

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

Cambie foocon el texto de su interés (como abc.png).

Puedes presionar:

  • n para buscar la siguiente coincidencia de patrón.
  • Shift+ npara buscar hacia atrás,
  • /+ escriba something+ Enterpara buscar otra frase.

Ver similar, pero en Windows: Encontrar qué jarras contienen un archivo

kenorb
fuente
si necesito buscar el archivo abc.png en un archivo de guerra, ¿cómo puedo hacerlo con el comando anterior?
ashok_p
@ashok_p Reemplazar Foocon abc.png.
kenorb
1

Puede usar el comando descomprimir para este propósito:

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

jar tvf foo.war | nombre de archivo grep

w33b
fuente
Si bien este código puede ser correcto, la falta de CUALQUIER información contextualizante hace que esta respuesta sea inútil e inútil.
music2myear