在Mac Terminal中保留目录结构的同时批量取消存档(解压缩)

时间:2018-12-19 03:05:48

标签: unix terminal zip

我正在从子目录中批量解压缩文件。我当前在Mac OS High Sierra上,带有终端版本2.8.2。

我能够找到文件并解压缩子目录中的文件,但是它们都输出到一个文件夹中。

我需要解压缩的文件才能输出到新文件夹,但是,我想在新文件夹中保持子目录结构完整。

例如,假设我有以下文件夹: /卷/我的书/音乐/ 此文件夹中包含一系列子文件夹:
    /卷/我的书/音乐/艺术家1 /
    /卷/我的书/音乐/艺术家2 /
    /卷/我的书/音乐/艺术家3 /
每个子文件夹都有一系列的.zip文件:
    /卷/我的书/音乐/艺术家1 / cd1.zip
    /卷/我的书/音乐/艺术家1 / cd2.zip
    /卷/我的书/音乐/艺术家2 / cd1.zip
    /卷/我的书/音乐/艺术家2 / cd2.zip

当前,我正在使用以下命令:

find . -name "*.zip" -exec unzip -d /Volumes/My Book/Unzipped/Artist/ {} \;

问题是,它会将所有解压缩的文件输出到“ Artist”文件夹中。我想要它做的是保持子目录完整,以产生如下输出:
    /卷/我的书/解压缩/艺术家1 / cd1.mp3
    /卷/我的书/解压缩/艺术家1 / cd2.mp3
    /卷/我的书/解压缩/艺术家2 / cd1.mp3
    /卷/我的书/未压缩/艺术家2 / cd2.mp3

似乎我的命令中需要某种通配符或目录副本,但是,我不知道执行此操作的语法。我的猜测尝试大多产生了错误。我不希望解压缩的文件显示在与压缩文件相同的目录中。

谢谢!

0 个答案:

没有答案