遍历目录并压缩某些子目录

时间:2015-06-21 14:25:03

标签: bash zip subdirectory

如何在子目录中批量压缩文件夹而不在zip存档中包含父文件夹?我有一个像这样的文件夹结构:

folder01
    folder02
        file01
        file02

当我跑步时:

find . -type d -name "folder02" -exec zip -r '{}'.zip '{}' \;

我得到“folder02.zip”,它总是将其内容提取到父文件夹“folder01”中。我怎么能阻止这个?对我来说,在其他任何地方提取这些档案时,它会创建无用的父文件夹结构。

1 个答案:

答案 0 :(得分:0)

使用一些简单的bash:

find . -type d -name "folder02" -exec bash -c 'cd "$(dirname "{}")"; zip -r "$(basename "{}")".zip "$(basename "{}")"' \;