GNU Parallel未完成所有find匹配的视频转换任务,请求技术协助
解决GNU Parallel批量转换视频仅处理部分文件的问题
处理文件名特殊字符问题
文件名含空格、引号等特殊字符时,普通管道或命令替换会拆分文件名,导致Parallel错误识别任务。用以下方法确保文件名完整传递:
- 结合
find -print0与parallel -0:find "/mnt/bulk-data-02/videos/convert" -iname "*.mov" -print0 | parallel -0 -j 8 videoConvert - 用Parallel内置的递归匹配(需开启shell通配符递归,如bash的
shopt -s globstar):parallel -j 8 videoConvert ::: "/mnt/bulk-data-02/videos/convert"/**/*.mov
检查videoConvert脚本/命令有效性
- 单独运行
videoConvert处理一个.mov文件,确认能正常完成转换且无报错 - 确保脚本正确接收参数(如用
"$1"获取文件名,避免特殊字符解析错误)
验证任务列表完整性
用--dryrun测试.mov文件的任务列表,确认所有文件被正确识别:
find "/mnt/bulk-data-02/videos/convert" -iname "*.mov" -print0 | parallel -0 --dryrun -j 8 videoConvert
若列表不全,检查find的路径、匹配规则是否正确。
查看执行细节排查问题
添加--verbose参数查看Parallel执行日志,定位任务跳过或失败原因:
find "/mnt/bulk-data-02/videos/convert" -iname "*.mov" -print0 | parallel -0 -j 8 --verbose videoConvert
内容的提问来源于stack exchange,提问作者user2434856
相关产品推荐
相关产品推荐

