大きなフォルダの下に約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
提供されます。 zipファイルを解凍してフォルダに提供したいです。child1.zip
/child1/child1/contents
child1.zip
/child1/contents
答え1
contents
zipファイルにのみ含めて含めない場合は、child1/contents
次のようにします。
for dir in */; do
( cd "$dir" && zip -r ../"${dir%/}".zip . )
done
答え2
for dir in child*; do
#recursive zip to include folder contents
zip -r "${dir}.zip" "$dir"
done