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

Macos Mac OS X命令或脚本,用于压缩具有特定名称的所有子文件夹,macos,terminal,command,zip,Macos,Terminal,Command,Zip,我有一个文件夹,包含许多文件和多层次的子文件夹。我正在寻找一个命令或脚本,它将压缩任何名为“fonts”的子文件夹,从而生成与fonts文件夹相同级别的fonts.zip文件 创建zip文件后,字体文件夹应保持不变(无删除) 如果另一个fonts文件夹中有fonts文件夹(不太可能),则只有顶级fonts文件夹会生成fonts.zip文件(理想,但不是必需的) 如果与fonts文件夹处于同一级别的fonts.zip文件,则应将其替换 我承认,我是Mac电脑的新手。希望能有一个简单的终端命令来完成

我有一个文件夹,包含许多文件和多层次的子文件夹。我正在寻找一个命令或脚本,它将压缩任何名为“fonts”的子文件夹,从而生成与fonts文件夹相同级别的fonts.zip文件

创建zip文件后,字体文件夹应保持不变(无删除)

如果另一个fonts文件夹中有fonts文件夹(不太可能),则只有顶级fonts文件夹会生成fonts.zip文件(理想,但不是必需的)

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

我承认,我是Mac电脑的新手。希望能有一个简单的终端命令来完成这项工作。但我对如何实现这一目标持开放态度

谢谢,
-马特

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

find-键入d-iname'*font'-execdir ditto-c-k-X--rsrc{}fonts.zip\

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


zip程序有许多选项(请参见
man-zip
),但本质上,您可以使用
zip-r-fonts.zip-fonts
递归压缩目录,并使用
find>在树中查找所有此类源目录-键入d-name'fonts'-exec zip-r fonts.zip{}+
(其中
表示搜索从终端中您所在的目录开始)。但是,如果
font
在一棵树中出现多次,我不知道有什么好方法可以“停止”。谢谢@Kevin的回复。我尝试了
查找-键入d-name'fonts'-exec zip-r fonts.zip{}+
命令,结果是在起始目录中有一个fonts.zip文件。是否可以对其进行修改以生成多个fonts.zip文件,每个文件位于其相应fonts文件夹的同一级别?