큰 폴더 아래에 약 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