Linux下,使用zip命令将一个文件夹中的子文件夹和文件一个一个压缩(支持文件名中有空格的场景):filename:zipfolder#!/bin/bashIFS=$'\n'forfilein`ls-1$1`doif[[${file}==*".zip"]]thenecho"skipped:${file}"elsezip-r"$1/${file}.zip""$1/${file}"fidone示例:执行前:MyMacBook-Pro:~root$find/Users/root/targetfolder-print|sed-e的;1*/;|____;g;s;____|;|;g'|||____目标文件夹||||____file1.txt||||____文件夹1|||||____2.txt|~root$./zipfolder/Users/root/targetfolder添加:/Users/root/targetfolder/file1.txt(缩小33%)添加:/Users/root/targetfolder/folder1/(存储0%)添加:/Users/root/targetfolder/folder1/2.txt(放气33%)跳过:zipfile.zip执行后:MyMacBook-Pro:~root$find/Users/root/targetfolder-print|sed-e的;1*/;|____;g;s;____|;|;g'|||____目标文件夹||||____file1.txt||||____file1.txt.zip|||____文件夹1|||||____2.txt||||____文件夹1.zip||||____压缩文件.zip/?
