我希望从目录中的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;
我需要将这两个命令的输出合并为一个显示
的输出答案 0 :(得分:3)
时间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
和格式化输出。