压缩当前文件夹中的所有目录

时间:2016-09-29 15:45:43

标签: shell scripting

我正在尝试压缩当前目录中的所有文件夹。

结果应该是每个文件夹都成为一个存档。我的意思是档案应该与文件夹具有相同的结构。

这是我写的剧本:

find ~/data_archive_dir \
 -maxdepth 1 \
 -type d \
 ! -iname "*.zip" \
 ! -iname "*.bz2" \
 ! -iname "*.gz" \
 -exec zip -r "{}" "{}" \;

但是获取具有相同名称的旧文件夹和存档以及包含完整路径的文件。我做错了什么?

1 个答案:

答案 0 :(得分:0)

    for l_dir in ~/data_archive_dir/*/
do
    pushd ~/data_archive_dir/
    zip -r $(basename "${l_dir}").zip $(basename "${l_dir}")
    popd
    rm -r "${l_dir}"
done
这是我写的。