Я хочу преобразовать свои старые файлы *.wma в *.mp3. Для этой цели я нашел короткий скрипт для конвертации с помощью mplayer + lame (найден здесь: https://askubuntu.com/questions/508625/python-v2-7-requires-to-install-plugins-to-play-media-files-of-the-following-t).
Это отлично работает в одном каталоге. Теперь я хотел улучшить его таким образом, чтобы он мог работать с «найти». Он предназначен для поиска *.wma-файла и последующего вызова скрипта для преобразования этого файла в *.mp3.
Вот сценарий:
FILENAME=$1
FILEPATH="$(dirname $1)"
BASENAME="$(basename $1)"
mplayer -vo null -vc dummy -af resample=44100 -ao pcm:waveheader "$FILENAME"
lame -m j -h --vbr-new -b 320 audiodump.wav -o "`basename "$FILENAME" .wma`.mp3"
echo "Path: $FILEPATH" # just to see if its correct
echo "File: $BASENAME" # just to see if its correct
rm -f audiodump.wav
rm -f "$FILENAME"
На данный момент я занимаюсь проблемой, что скрипт помещает конвертированный *.mp3 в каталог, с которым работает консоль (например, /home/user/ вместо /home/user/files/, где *.wma происходит от).
Что я могу сделать, чтобы сценарий поместил новый *.mp3 в тот же каталог, что и *.wma? Если я хочу использовать «mv» в сценарии, у меня возникнут проблемы со встроенными пробелами в именах файлов *.wma.
Спасибо за любые подсказки. Я думал о том, чтобы установить для IFS значение табуляции или новой строки, но меня больше беспокоит, есть ли лучший способ справиться с этим.