linux如何将文件添加到zip文件中的特定文件夹

asf*_*man 26 linux zip

我知道如何将文件添加到zip文件中的根文件夹:

zip -g xxx.apk yyy.txt

但我不知道如何在zip文件中指定特定文件夹

jco*_*ado 30

如果需要将文件添加到与原始目录层次结构相同的文件夹中,则只需添加完整路径即可:

zip -g xxx.zip folder/file
Run Code Online (Sandbox Code Playgroud)

否则,最简单的方法是在临时目录中的zip文件中创建所需的相同布局.

  • 如果我想将yyy.txt放入xxx.apk的assests'文件夹中,首先我必须创建assests文件夹,然后将yyy.txt移入其中.然后执行zip -g xxx.apk assests/yyy.txt (3认同)

tha*_*guy 9

要详细说明一年前的@Ignacio Vazquez-Abrams答案,您可以使用较低级别的库,例如Python附带的库:

#!/bin/bash
python -c '
import zipfile as zf, sys
z=zf.ZipFile(sys.argv[1], "a")
z.write(sys.argv[2], sys.argv[3])
z.close()
' myfile.zip source/dir/file.txt dir/in/zip/file.txt
Run Code Online (Sandbox Code Playgroud)

这将打开myfile.zipsource/dir/file.txtdir/in/zip/file.txtzip文件中添加文件系统.