gpt4 book ai didi

bash - 在 Bash 中重新格式化输出

转载 作者:行者123 更新时间:2023-12-04 22:59:59 25 4
gpt4 key购买 nike

我正在使用这个 ffmpeg 参数来获取文件中的黑框:

ffmpeg -i ${arrayDesFichiers[$i]} -vf "blackdetect=d=3:pix_th=0.00" -an -f null - 2>&1 | grep black_duration >> log.txt

现在我在我的 log.txt 中得到了这个:
[blackdetect @ 0x7fd9add06bc0] black_start:0 black_end:3.2 black_duration:3.2

我想把它重新格式化成这样的:
black duration : 3.2 seconds

我很确定这在 Bash 中是可能的,但是如何呢?

最佳答案

你可以这样做:

ff_output=$(ffmpeg -i ${arrayDesFichiers[$i]} -vf "blackdetect=d=3:pix_th=0.00" -an -f null - 2>&1 | grep -oE "black_duration:[[:digit:]][.[:digit:]]*")
printf "%s seconds\n" "$ff_output" >> log.txt
grep -oE "black_duration:[[:digit:]]+[.[:digit:]]*
  • -o选项限制 grep只输出到匹配的部分
  • -E选择扩展正则表达式
  • [[:digit:]]+[.[:digit:]]*查找一位或多位数字,可选地后跟一个句点和一位或多位数字
  • 关于bash - 在 Bash 中重新格式化输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052767/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com