Linux
將文件夾內的所有子文件夾壓縮為單個 zip 文件
我在一個大文件夾下有大約 200 個文件夾
Parent
,比如child1-100
-
Parent
—-
child1/contents
—-
child2/contents
如何更改命名
child 1-100
為每個 zip 文件夾的所有文件夾,例如child1.zip, child2.zip
?我嘗試執行此命令for i in */; do zip -r "${i%/}.zip" "$i"; done
,但它給了我child1.zip
提取後給了/child1/child1/contents
. 我只希望 zip 文件在解壓後child1.zip
提供/child1/contents
文件夾。
如果您希望 zip 文件包含 only
contents
, notchild1/contents
,請執行以下操作:for dir in */; do ( cd "$dir" && zip -r ../"${dir%/}".zip . ) done
for dir in child*; do #recursive zip to include folder contents zip -r "${dir}.zip" "$dir" done