创建目录列表,其中列表中的每一行都包含 mp3 文件名和 mp3 持续时间
Create directory list where each line in list consists of mp3 file name and mp3 duration
我想从目录中的mp3文件名目录和每个文件的播放时长生成一个列表。
下面的命令生成目录中的 mp3 文件列表
for name in *.mp3; do ffmpeg -i "$name" 2>&1 | grep -o -P "(?<=Input #0, mp3, from ').*(?=.mp3':)" ; done;
下面的命令生成每个 MP3 文件的时长列表
for name in *.mp3; do ffmpeg -i "$name" 2>&1 | grep -o -P '(?<=Duration: 00:).*(?=.[0-9]{2}, start)' ; done;
我需要将这两个命令的输出合并为一个输出显示
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- ..
时间 0 想法。像这样的东西......(拿你的代码)。
for name in *.mp3;
do
a=$(ffmpeg -i "$name" 2>&1|grep -o -P "(?<=Input #0, mp3, from').*)(?=.mp3':)"
b=$(ffmpeg -i "$name" 2>&1|grep -o -P '(?<=Duration: 00:).*(?=.[0-9]{2}, start)')
echo "$b $a"
done;
您可以随意使用 printf
而不是 echo
和格式化输出。
我想从目录中的mp3文件名目录和每个文件的播放时长生成一个列表。
下面的命令生成目录中的 mp3 文件列表
for name in *.mp3; do ffmpeg -i "$name" 2>&1 | grep -o -P "(?<=Input #0, mp3, from ').*(?=.mp3':)" ; done;
下面的命令生成每个 MP3 文件的时长列表
for name in *.mp3; do ffmpeg -i "$name" 2>&1 | grep -o -P '(?<=Duration: 00:).*(?=.[0-9]{2}, start)' ; done;
我需要将这两个命令的输出合并为一个输出显示
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- mm:ss 文件名
- ..
时间 0 想法。像这样的东西......(拿你的代码)。
for name in *.mp3;
do
a=$(ffmpeg -i "$name" 2>&1|grep -o -P "(?<=Input #0, mp3, from').*)(?=.mp3':)"
b=$(ffmpeg -i "$name" 2>&1|grep -o -P '(?<=Duration: 00:).*(?=.[0-9]{2}, start)')
echo "$b $a"
done;
您可以随意使用 printf
而不是 echo
和格式化输出。