Как рекурсивно искать файл в файлах war, ear и jar в Linux


10

Мне нужно найти файл (logo.png) в папке, содержащей архивные файлы war, ear и jar. Может кто-нибудь помочь мне с командой?


1
Используйте эту команду в терминале ------> найти [PATH] -name "[FILENAME]"
vembutech

Вы имеете в виду поиск файлов внутри архива war, ear или jar?
Кенорб

@kenorb да точно
ashok_p

Ответы:


7

Поиск внутри jar- файлов:

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

И похоже на военные файлы:

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

Изменить fooс текстом вашего интереса (например, abc.png).

Вы можете нажать:

  • n искать следующий образец соответствия.
  • Shift+ nискать в обратном направлении,
  • /+ введите something+, Enterчтобы найти другую фразу.

Смотрите похожие, но на Windows: Поиск, какие банки содержат файл


Если мне нужно найти файл abc.png в архиве войны, как я могу сделать с помощью приведенной выше команды.
ashok_p

@ashok_p Заменить Fooна abc.png.
Кенорб


-1

jar tvf foo.war | grep имя файла


Хотя этот фрагмент кода может быть правильным, отсутствие ЛЮБОЙ контекстуализирующей информации делает этот ответ бесполезным и бесполезным.
music2myear
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.