我正在bash中运行一些命令(基本上是一些ffmpeg
命令),这些命令我正在使用grep
并awk
过滤出结果。该命令会花费一些时间,并会随着视频的进行不断输出一些结果。该grep
管道是一样的。但是awk
管道会等到命令完成并立即打印所有内容,这是不好的。我希望它在找到匹配项后立即输出。
如何更改此命令以实时输出结果?
ffmpeg -i freeze.mp4 -vf "freezedetect=n=-60dB:d=2" -map 0:v:0 -f null - 2>&1 | grep freezedetect | awk '{print $4,$5}' | tr -d , | grep lavfi
使用标准工具,尝试
ffmpeg -i freeze.mp4 -vf "freezedetect=n=-60dB:d=2" -map 0:v:0 -f null - 2>&1 | stdbuf -o 0 grep freezedetect | stdbuf -o 0 awk '{print $4,$5}' | stdbuf -o 0 tr -d , | stdbuf -o 0 grep lavfi
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句