ในเทอร์มินัลฉันต้องการใช้ ffmpeg2theora เพื่อแปลงไฟล์. MOV ทั้งหมดในไดเรกทอรีบางไฟล์เป็นไฟล์. gog อย่างไรก็ตามสิ่งต่อไปนี้ใช้ไม่ได้:
ffmpeg2theora *.MOV
มีวิธีที่ดีในการทำซ้ำคำสั่งหลายครั้งในไฟล์ต่างกันหรือไม่?
ขอบคุณ!
ในเทอร์มินัลฉันต้องการใช้ ffmpeg2theora เพื่อแปลงไฟล์. MOV ทั้งหมดในไดเรกทอรีบางไฟล์เป็นไฟล์. gog อย่างไรก็ตามสิ่งต่อไปนี้ใช้ไม่ได้:
ffmpeg2theora *.MOV
มีวิธีที่ดีในการทำซ้ำคำสั่งหลายครั้งในไฟล์ต่างกันหรือไม่?
ขอบคุณ!
คำตอบ:
หากคุณใช้เชลล์เริ่มต้น (ทุบตี) คุณสามารถใช้สิ่งต่อไปนี้:
for file in *.MOV; do ffmpeg2theora "$file"; done
nocaseglob
ตัวเลือก bash ให้ตรงกับตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
find . -iname '*.mov' -exec ffmpeg2theora '{}' \;
หากต้องการจำกัดความลึกของการเรียกซ้ำคุณสามารถเพิ่มได้-maxdepth 1
ก่อน-exec
for file in *.MOV
โซลูชันจะค้นหาเฉพาะในไดเรกทอรีปัจจุบัน
for file in *.[Mm][Oo][Vv]; do ffmpeg2theora "$file"; done