คุณสามารถใช้GNU ขนานในการทำเช่นนั้นเนื่องจากมันสามารถ จำกัด จำนวนองค์ประกอบให้กับงานรวมทั้งระบุหมายเลขงาน (สำหรับชื่อไฟล์เก็บถาวร zip ที่ไม่ซ้ำ):
$ touch $(seq 20)
$ find . ! -name "*.zip" -type f -print0 | parallel -0 -N 5 zip arch{#} {}
adding: 1 (stored 0%)
adding: 10 (stored 0%)
adding: 11 (stored 0%)
adding: 12 (stored 0%)
adding: 13 (stored 0%)
adding: 14 (stored 0%)
adding: 15 (stored 0%)
adding: 16 (stored 0%)
adding: 17 (stored 0%)
adding: 18 (stored 0%)
adding: 19 (stored 0%)
adding: 2 (stored 0%)
adding: 20 (stored 0%)
adding: 3 (stored 0%)
adding: 4 (stored 0%)
adding: 5 (stored 0%)
adding: 6 (stored 0%)
adding: 7 (stored 0%)
adding: 8 (stored 0%)
adding: 9 (stored 0%)
$ ls
1 11 13 15 17 19 20 4 6 8 arch1.zip arch3.zip
10 12 14 16 18 2 3 5 7 9 arch2.zip arch4.zip
ตัวเลือก-N 5
จะ จำกัด จำนวนไฟล์ไว้ที่ 5 ต่อการเก็บถาวรและถูกนำเสนอzip
แทน{}
{#}
(คำต่อคำไม่ได้ที่จะถูกแทนที่ด้วยคุณในระหว่างอุทธรณ์) จะถูกแทนที่ด้วยจำนวนงานที่มีผลในarch1.zip
, arch2.zip
ฯลฯ
-print0
ตัวเลือกfind
และ-0
เลือกที่จะparallel
ตีคู่ให้แน่ใจว่าชื่อไฟล์ที่มีตัวอักษรพิเศษได้รับการจัดการอย่างถูกต้อง