폴더 내의 모든 하위 폴더를 별도의 zip 파일로 압축

폴더 내의 모든 하위 폴더를 별도의 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 제공됩니다 . zip 파일의 압축을 풀고 폴더에 제공하고 싶습니다 .child1.zip/child1/child1/contentschild1.zip/child1/contents

답변1

contentszip 파일에 만 포함 하고 는 포함하지 않으 려면 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

관련 정보