功能
递归提取指定的目录及其子目录中的mp4视频文件中的音频并转换成mp3格式的文件(生成的文件放在mp4文件旁边与原文件同名不同后缀)
脚本及使用
- 创建文件
vim transfer.sh
- 脚本内容
#!/bin/bash
# 此脚本用于将指定目录及其子目录下的mp4文件转换成mp3格式
function getdir(){
for element in `ls $1`
do
dir_or_file=$1"/"$element
if [ -d "$dir_or_file" ]; then
getdir $dir_or_file
elif [ "${dir_or_file##*.}"x = "mp4"x ]; then
echo $dir_or_file
# 获取文件名
name=${dir_or_file%.*}
# 执行 ffmpeg 做转换
ffmpeg -i $dir_or_file -f mp3 -vn $name.mp3
fi
done ;
}
getdir $1
echo "done";
- 授权
chmod +x transfer.sh
- 执行
./transfer.sh mp4文件所在的目录