Mac OS X命令或脚本用于压缩具有特定名称的所有子文件夹

时间:2013-10-08 23:46:45

标签: macos terminal command zip

我有一个文件夹,其中包含多个级别的文件和子文件夹。我正在寻找一个命令或脚本来压缩任何名为“fonts”的子文件夹,导致fonts.zip文件与fonts文件夹处于同一级别。

字体文件夹应在创建zip文件后保留(不删除)。

如果在另一个字体文件夹中有一个字体文件夹(不太可能的情况),只有顶级字体文件夹应该产生fonts.zip文件(理想但非强制性)。

如果已有fonts.zip文件与fonts文件夹处于同一级别,则应将其替换。

我承认,我是Mac新手。希望可以有一个简单的终端命令来完成此任务。但我愿意接受其他想法如何实现这一目标。

谢谢, -Matt

1 个答案:

答案 0 :(得分:0)

以凯文·格兰特的建议为出发点,我能够按照我需要的方式整理一个终端命令:

find . -type d -iname '*fonts' -execdir ditto -c -k -X --rsrc {} fonts.zip \;

我参考了find和ditto命令及其开关的手册页。我选择使用ditto over zip,因为它应该与Mac OS X下的HFS和资源分支更兼容。接下来我将了解StuffIt是否有命令行工具。如果是这样,我将使用它而不是同上。

This was also helpful.