gpt4 book ai didi

bash - 递归列出目录中所有文件的视频时长

转载 作者:行者123 更新时间:2023-12-04 23:16:56 29 4
gpt4 key购买 nike

我想列出文件夹中每个视频的所有文件名和持续时间。目前我只能单独定位文件:

ffmpeg -i intro_vid001.mp4 2>&1 | grep 持续时间

有人可以建议我如何在终端中将其打印出来或将其打印到文件夹中每个视频文件的文本文件中吗?

我尝试过使用 shell 脚本,但对 shell 脚本非常陌生。

if [ -z $1 ];then echo Give target directory; exit 0;fi

find "$1" -depth -name ‘*’ | while read file ; do
directory=$(dirname "$file")
oldfilename=$(basename "$file")


echo oldfilename
#ffmpeg -i $directory/$oldfilename” -ab 320k “$directory/$newfilename.mp3″ </dev/null
ffmpeg -i "$directory/$oldfilename" 2>&1 | grep Duration | echo
#rm “$directory/$oldfilename”

done

最佳答案

  • 我在一个“旧文件名”前忘记了一美元
  • grep 在其标准输出上写入,您不能使用不使用其标准输入的 echo 进行管道传输。

  • 我建议使用以下脚本:
    find "$1" -type f | while read videoPath ; do
    videoFile=$(basename "$videoPath")
    duration=$(ffmpeg -i "$videoPath" 2>&1 | grep Duration)

    echo "$videoFile: $duration"
    done

    关于bash - 递归列出目录中所有文件的视频时长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25403621/

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