2015-04-10 3 views
0

Недавно я получил доступ к Google Chromecast и понял, что почти ни один из моих текущих медиа не будет работать «хорошо» с ним (большинство из них - mkv с аудио ac3)Ubuntu bash script - Поиск всех папок для запуска видеоконверсии

Я смог создать простой скрипт bash для преобразования всех файлов в папку ... но у меня есть сотни папок, поэтому я ищу, чтобы сделать эту работу рекурсивной, поэтому мне нужно ее запускать только один раз

Текущий сценарий

for i in *.mkv; do 
avconv -i "$i" -c:v copy -c:a aac -strict experimental "${i/.mkv/.mp4}" 
done 

То, что я хочу сделать, это добавить логику к этому так, что он может искать через две подпапки, конвертировать найденный файл, переместите преобразованный файл в корневой каталог и удалить исходный файл

т.е.

/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 

ответ

2

Для поиска подпапок вы можете использовать find

find -name '*.mkv' -exec /path/to/convert-movie.sh {} \; 

где/путь/к/конв ert-movie.sh будет

#!/bin/bash 
avconv -i "$1" -c:v copy -c:a aac -strict experimental "${1/.mkv/.mp4}" 
Смежные вопросы