Score:0

แบ่งไฟล์ออกเป็นหลายโฟลเดอร์ย่อยและซิปแต่ละโฟลเดอร์ย่อย

ธง mx

ฉันใช้ อูบุนตู 18.04.5 LTS.

ฉันได้สร้างสคริปต์ต่อไปนี้เพื่อแยกไฟล์ในโฟลเดอร์ออกเป็นโฟลเดอร์ย่อยต่างๆ:

#!/bin/bash

dir_size=850
dir_name="รูปภาพ"
n=$((`find . -maxความลึก 1 -type f | wc -l`/$dir_size+1))
สำหรับ i ใน `seq 1 $n`;
ทำ
    mkdir -p "$dir_name$i";
    หา . -ความลึกสูงสุด 1 -ประเภท f | หัว -n $dir_size | xargs -i mv "{}" "$dir_name$i"
เสร็จแล้ว

อย่างไรก็ตามฉันต้องการ ซิป แต่ละโฟลเดอร์ย่อยหลังจากสร้าง ดังนั้นฉันจึงได้รับเฉพาะโฟลเดอร์ย่อยที่ซิปไว้ในไดเร็กทอรีสุดท้ายของฉัน

ข้อเสนอแนะวิธีการทำเช่นนี้?

ฉันขอขอบคุณสำหรับคำตอบของคุณ!

vanadium avatar
cn flag
`"$dir_name$i"` คือโฟลเดอร์ที่คุณสร้างขึ้น แล้วอะไรล่ะที่ขัดขวางคุณในขณะที่อยู่ในลูป `do...done` จากการซิปโฟลเดอร์ในภายหลัง
bac0n avatar
cn flag
มีเหตุผลใดเป็นพิเศษในการใช้ 'zip' หรือไม่
Score:1
ธง cn

คุณสามารถใช้ for-loop เพื่อรับรายการในจำนวนที่แน่นอนได้ จะเพิ่มขึ้นตามจำนวน และ โดยการวนซ้ำทุกครั้ง

#!/bin/bash

mapfile -td '' < <( \
    ค้นหา -maxความลึก 1 -ประเภท f ! -ชื่อ '*.zip' -print0 \
)
((${#MAPFILE} == 0)) && ทางออก 1

สำหรับ ((a=0, b=0, c=850; a<${#MAPFILE[@]}; a+=c, b++)); ทำ
    ภาพ mkdir$b && \
    mv -t $_ "${MAPFILE[@]:$a:$c}" && zip -mTr ภาพ$b ภาพ$b
เสร็จแล้ว

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา