How to search for a file in war,ear and jar files recursively in Linux

Searching inside jar files:

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

And similar with war files:

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

Change foo with text of your interest (such as abc.png).

You can press:

  • n to search for the next pattern match.
  • Shift+n to search backwards,
  • / + type something + Enter to search for another phrase.

See similar, but on Windows: Finding which jars contain a file