Как я могу превратить:
/media/MediaOne/Movies/Kids/Aladdin.avi
/media/MediaOne/Movies/Kids/Incredibles.avi
в
/media/MediaOne/converted/Aladdin.mp4
/media/MediaOne/converted/Incredibles.mp4
при циклическом просмотре каталога с помощью avconv?
Прямо сейчас они выводятся как:
/media/MediaOne/Movies/Kids/Aladdin.avi.mp4
/media/MediaOne/Movies/Kids/Incredibles.avi.mp4
и вот что я пытаюсь:
for i in /media/MediaOne/Movies/Kids/*.avi; do avconv -i "$i" -c copy "$i.mp4"; done
тоже попробовал:
for i in /media/MediaOne/Movies/Kids/*.avi; do avconv -i "$i" -c copy "/media/MediaOne/converted/$i.mp4"; done
, но получил кучу ошибок, потому что $ i / media / MediaOne / преобразован / не существует
Используйте команду basename
для удаления расширения из имени файла, обратите внимание на специальные кавычки
`$(basename $i .avi).mp4`
вместо
"$i.mp4"
dirname
может помочь извлечь путь к папке, содержащей входной файл. (man dirname
за помощь)