【问题标题】:printing bad video files with xargs使用 xargs 打印不良视频文件
【发布时间】:2018-09-02 03:56:41
【问题描述】:

我用

find . -name "*.mp4" -print0 | xargs -0 -I $ bash -c "ffmpeg -v error -xerror -i $ -f null - || echo $"

遍历目录并打印不良视频文件(如 ffmpeg 所见)

如果我在只有 mp4 文件的目录中运行它,它将打印文件名 - 但是,如果我在父文件夹(一个包含许多文件夹的文件夹,每个文件夹都有 mp4 文件)上运行它,我只会得到 @987654322 @被回显

我做错了什么?

【问题讨论】:

  • 试试find . -name "*.mp4" -print0 | xargs -0 -I{} bash -c 'ffmpeg -v error -xerror -i "$1" -f null - || echo "$1"' _ {} 你的意思是一个文字$ 被打印或里面的值?
  • 只打印字符本身 $,而不是文件路径
  • @123 似乎正在工作,谢谢!你能解释一下为什么吗?

标签: bash ffmpeg xargs


【解决方案1】:

使用 GNU Parallel,它看起来像这样:

find . -name "*.mp4" -print0 |
  parallel -0 "ffmpeg -v error -xerror -i {} -f null - || echo {}"

使用包含 '、" 和空格的文件名进行测试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-12
    • 1970-01-01
    • 2019-11-22
    • 2017-07-13
    • 1970-01-01
    • 2018-07-26
    • 2016-10-03
    相关资源
    最近更新 更多