如何制作除特定文件夹之外的目录的 zip 文件?

sta*_*ack 3 command-line zip

这是我当前的命令:

zip -r compressed_filename.zip path/foldername
Run Code Online (Sandbox Code Playgroud)

但是有很多图像放入img其中名为的文件夹中path/foldername。所以我想制作一个path/foldername目录的压缩文件,但img其中的文件夹除外。

我怎样才能做到这一点?

Mel*_*ius 5

zip命令有一个--exclude(或-x) 标志来排除某些文件:

zip -r --exclude 'img/' compressed_filename.zip path/foldername
Run Code Online (Sandbox Code Playgroud)

如有必要,调整路径。


您还可以使用该find命令列出所有要包含的文件并将它们传递给该zip命令。

find path/foldername -name 'img' -prune -o -exec zip compressed_filename.zip {} +
Run Code Online (Sandbox Code Playgroud)

这将搜索path/foldername所有文件(和文件夹)。如果找到img,则停止处理 ( -prune)。所有其他 ( -o) 找到的项目将(一起,因为+在最后)传递给zip调用。