如何在 Linux 中递归搜索 war、ear 和 jar 文件中的文件

如何在 Linux 中递归搜索 war、ear 和 jar 文件中的文件

我需要在包含 war、ear 和 jar 存档文件的文件夹中搜索文件 (logo.png)。有人能帮我使用命令吗?

答案1

正在搜索内部文件:

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 上:查找哪些 jar 包含某个文件

答案2

您可以使用 unzip 命令来实现此目的:

unzip -t example.war |grep filename

答案3

jar tvf foo.war | grep 文件名

相关内容