使用路径前缀创建 zip 存档

使用路径前缀创建 zip 存档

相关创建 zip 档案时指定顶级目录,有没有一种简单的方法来创建带有路径前缀的 zip 档案?

柏油,可以使用--transform 's,^,/some/path/,',但此功能不适用于压缩公用事业。

例如,nodejs/在包含以下内容的档案中添加前缀node_modules,以创建AWS Lambda 层

对于这种特定情况,解决方法是:

$ ln -s . nodejs
$ zip -r layer.zip nodejs/node_modules

答案1

使用 tar 即可,--transform 's,^,/some/path/,'但使用 zip 实用程序则无法使用。

bsdtar工具具有类似的-s选项,并支持创建 Zip 档案:

bsdtar -c -a -f foo.zip -s ",^,foo/," *.txt

bsdtar是 libarchive 的一部分,在大多数 Linux 发行版上可用。(Windows 10 也将 bsdtar 捆绑为 tar.exe,但不幸的是没有-s支持。)

相关内容