Как рекурсивно искать файл в файлах war,ear и jar в Linux
Мне нужно найти файл (logo.png) в папке, содержащей архивные файлы war, ear и jar. Может кто-нибудь помочь мне с командой?
3 ответа
Решение
Поиск внутри 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
+ Введите для поиска другой фразы.
Смотрите похожие, но на Windows: Поиск, какие банки содержат файл
Вы можете использовать команду unzip для этой цели:
unzip -t example.war |grep filename