I need to search for a file (logo.png), in a folder that contains war, ear, and jar archive files. Can anyone help me with the command?

  • 1
    Use this command in terminal ------> find [PATH] -name "[FILENAME]"
    – vembutech
    May 11 '15 at 15:09
  • You mean finding files inside war, ear or jar archive file?
    – kenorb
    May 11 '15 at 15:48
  • @kenorb yes exactly
    – ashok_p
    May 11 '15 at 16:59

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

  • if i need to search abc.png file in a war archive how can i do with the above command.
    – ashok_p
    May 11 '15 at 17:17
  • @ashok_p Replace Foo with abc.png.
    – kenorb
    May 11 '15 at 18:47

You can use unzip command for this purpose:

unzip -t example.war |grep filename

jar tvf foo.war | grep filename

  • While this bit of code may be correct, the lack of ANY contextualizing information makes this answer useless and unhelpful. Jul 17 '18 at 20:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.