如何从 war 文件中只提取一个文件?

How to extract only one file from war file?

我正在 Linux 中为 Ansible 编写 shell 命令,我有一个 .war 文件,我只需要 tasks.properties 文件。我尝试了下面的方法,但它提取了父目录文件夹 WEB-INF,因此,我提取了 WEB-INF/sub/test.properties,当我只需要 test.properties 外面

unzip test.war "*test.properties*" 

我也试过了

jar xf test.war test.properties

这也提取了主文件夹,WEB-INF/sub/test.properties.

当我ls时,我只想test.properties出现在我运行这个位置,有什么建议这样做?

-j 标志正是您所需要的:

unzip -j test.war "*test.properties*" 

来自the docs

-j

junk paths. The archive's directory structure is not recreated; all files are deposited in the extraction directory (by default, the current one).