如何递归压缩子文件夹?

如何递归压缩子文件夹?

我已经用头撞墙好几个小时了......

尝试递归压缩子文件夹,但只压缩其中的文件。我一直在尝试修改此脚本:

for i in */*/; do zip -j -r "${i%/}.zip" "$i" ; done

这几乎是完美的,但压缩文件仍然包含实际的子文件夹和文件。预期结果只会有压缩文件中的文件,而不是包含文件的子文件夹。

任何帮助都值得感激。谢谢

答案1

zip 手册中已经有更好的方法了,它利用了find

man zip

稍微修改一下就变成

find . -type f -exec zip source {} \;

cd您可以在所需文件夹后使用它,或者您可以用.它替换,例如

find ~/Downloads/ -type f -exec zip source {} \;

相关内容