【发布时间】:2014-10-13 17:54:35
【问题描述】:
我想列出文件夹中每个视频的所有文件名和持续时间。目前我只能单独定位文件:
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
【问题讨论】:
-
如果您以后想要整个文件名,则无需拆分文件名。您在 echo 行中错过了
$oldfilename上的$。您不需要将输出从grep传送到echo(它不会为您做任何事情)。如果您找到了它,您可能希望使用-print0而不是默认的-print来更安全地使用文件名(然后使用while IFS= read -rd '' file来读取该输出)。除此之外,该脚本是否适合您?