(1)Version 1
用「ffmpeg -i」來掠影片的長度。
佇「xargs」內底用「bash -c」來執行1个以上的指令。
用「(...)」(subshell)共指令組合起來。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo -ne "%\x00"; (ffmpeg -i "%" 2>&1 | grep Duration);' | awk -F '\x00' '{print $2,$1;}' | sort -k2
(2)Version 2
簡化Version 1。
檔名「%」愛用「"%"」,通好保護。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -print0 | xargs -0 -I % bash -c 'echo $(ffmpeg -i "%" 2>&1 | grep Duration) "%"' | sort -k2
(3)Version 3
改用「-exec」。
「{}」愛用「"{}"」。
find . \( -name "*.avi" -o -name "*.mp4" -o -name "*.mkv" \) -type f -exec bash -c 'echo $(ffmpeg -i "{}" 2>&1 | grep Duration) "{}"' \; | sort -k2
沒有留言:
張貼留言