如何递归压缩目录中的所有子文件夹?

如何递归压缩目录中的所有子文件夹?

目前,我有这个目录结构:

/Downloads
    /Download 1/
    /Download 2/
    /Download 3/
    ...

我想要这样的目录结构:

/Downloads
    Download 1.zip
    Download 2.zip
    Download 3.zip
    ...

本质上,我想将下载 1 压缩到其中Download 1.zip,然后删除下载 1。实现此目的最快/最简单的方法是什么?我正在运行 Ubuntu 12.04。

我之所以询问是因为这个文件夹在我的本地网络上共享。当有人在我的 Apache Web 服务器上询问这个问题时,我希望他们下载Download 1,所以我需要它是一个 zip 文件。

答案1

尝试使用我在图像中尝试过的命令,希望这对您有所帮助。

在此处输入图片描述

为了删除你只需添加一行

rm -rf $i

总命令可以表示为

 for i in ~/sandbox/*; do zip -r "$i".zip "$i"; rm -rf "$i"; done

验证 Zip 创建成功后删除文件夹的命令。

for i in ~/sandbox/*; do zip -r "$i".zip "$i" && rm -rf "$i"; done

感谢@evilsoup 的关注。希望这能有所帮助。

相关内容