我最近接触了 Google Chromecast,并意识到我目前的媒体几乎都不能“很好”地使用它(大多数是带有 ac3 音频的 mkv)
我已经能够创建一个简单的 bash 脚本来转换文件夹中的所有文件......但我有数百个文件夹,所以我希望让这项工作递归,所以我只需要运行一次
当前脚本
for i in *.mkv; do
avconv -i "$i" -c:v copy -c:a aac -strict experimental "${i/.mkv/.mp4}"
done
我想要做的是为此添加逻辑,以便它可以搜索两个子文件夹,转换找到的文件,将转换后的文件移动到根目录并删除原始文件
IE
/Movies/convert.script
/Movies/Movie1/this_movie.mkv
/Movies/Movie2/that_movie.mkv
/Movies/Movie3/another_movie.mkv
变成
/Movies/convert.script
/Movies/this_movie.mp4
/Movies/that_movie.mp4
/Movies/another_movie.mp4
最佳答案
要搜索子文件夹,您可以使用 find
find -name '*.mkv' -exec /path/to/convert-movie.sh {} \;
/path/to/convert-movie.sh 在哪里
#!/bin/bash
avconv -i "$1" -c:v copy -c:a aac -strict experimental "${1/.mkv/.mp4}"
关于bash - Ubuntu bash 脚本 - 搜索所有文件夹以运行视频转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29558324/