You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何组合使用find -execdir与grep过滤ffprobe输出并保存到文件

缺少的核心环节

你没有把单文件命令里的输出重定向规则同步写到find的-execdir执行逻辑中,ffprobe默认会把音视频流信息输出到标准错误流(stderr)而非标准输出流(stdout),你单文件命令里的2>&1 >/dev/null就是用来做流转换、丢弃无用输出的,这部分在遍历命令里被遗漏了,导致grep拿不到需要过滤的内容。

可用的完整命令

基础版(仅输出Stream信息)

find . -name "*.mp4" -execdir ffprobe "{}" 2>&1 >/dev/null \; | grep "Stream" > 结果文件路径.txt

带文件名关联版(输出Stream的同时标注对应文件,方便溯源)

find . -name "*.mp4" -exec sh -c 'echo "当前文件: $1"; ffprobe "$1" 2>&1 >/dev/null | grep "Stream"' _ {} \; > 结果文件路径.txt
逻辑说明
  • find遍历到mp4文件后,直接执行带重定向规则的ffprobe命令,把原本输出到stderr的流信息转成stdout输出,同时丢弃无用的stdout内容
  • 所有文件的ffprobe输出汇总后统一传给grep过滤包含Stream的行
  • 最终过滤结果通过重定向写入指定文件即可

内容的提问来源于stack exchange,提问作者pasan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 07:06:03