ฉันพยายามหาวิธีเขียนสคริปต์เพื่อสร้างไฟล์. cbz จากรูปภาพในโฟลเดอร์ใน OSX โดยอัตโนมัติ
แผนผังไดเรกทอรีของฉันจะมีลักษณะเช่นนี้:
/toplevel/
cbz/
comics/
Comic1/
comic1file1.jpg
comic1file2.gif
comic1file3.png
Comic2/
comic2file1.jpg
comic2file2.gif
Publisher/
Comic3/
comic3file1.jpg
comic3file2.gif
comic3file3.png
Comic4/
comic4file1.jpg
comic4file2.gif
และสิ่งที่ฉันต้องการทำคือเรียกใช้สคริปต์ที่จะค้นหาโฟลเดอร์ใด ๆ ที่มีไฟล์จริงแทนที่จะเป็นโฟลเดอร์ย่อยและ zip ให้เปลี่ยนชื่อจาก. zip ไปเป็น. cbz และย้ายไฟล์. cbz ไปยังโฟลเดอร์ / cbz ที่อยู่บนสุด โฟลเดอร์ใด ๆ ที่มีโฟลเดอร์ย่อยไม่ควรมีไฟล์ใด ๆ ดังนั้นอาจเป็นประโยชน์ นอกจากนี้ฉันไม่คาดหวังว่าจะมีโฟลเดอร์ย่อยลึกกว่าที่แสดงในตัวอย่างด้านบน
ตำแหน่งที่ฉันอยู่: ตัวอย่างนี้จะมองผ่านโฟลเดอร์และสร้างไฟล์. cbz สำหรับแต่ละโฟลเดอร์ย่อย
for dir in `ls`; do zip $dir $dir/*; mv $dir*zip $dir.cbz; done
ฉันได้พบตัวอย่างบางส่วนที่จะทำสิ่งที่คล้ายกับทุกโฟลเดอร์ย่อยด้านล่างของโฟลเดอร์ที่เลือก แต่ฉันได้ผลลัพธ์ที่แตกต่างกันและจะสนใจเรียนรู้วิธีที่ดีที่สุดในการดำเนินการกับโฟลเดอร์เท่านั้น นอกจากนี้ฉันไม่มีเงื่อนงำว่าฉันควรตรวจสอบว่าโฟลเดอร์ที่กำหนดมีโฟลเดอร์ย่อยหรือไฟล์ (ฉันเดาว่าควรจะมีการตรวจสอบเพื่อดูว่ามีทั้งสองอย่างหรือไม่ แต่สำหรับสถานการณ์ปัจจุบันของฉันที่ไม่ควรเป็นเช่นนั้น) ความคิดใด ๆ
ls
; ทำ zip $ dir $ dir / *; mv $ dir * zip $ dir.cbz; เสร็จแล้วและฉันพยายามทำให้มันมองหาโฟลเดอร์ย่อย อุปสรรค์ที่ใหญ่ที่สุดของฉันตอนนี้กำลังพิจารณาว่าโฟลเดอร์มีโฟลเดอร์ย่อยหรือไฟล์อยู่หรือไม่