Конвертировать.gsm в.wav с SOX

Я пытаюсь конвертировать один музыкальный файл с форматом .gsm отформатировать .wav, Вот как я пытался

for f in *.gsm; do sox $f new/${f%.wav}; done

В результате я получаю одинаковые файлы с одинаковым форматом .gsm в new/ каталог.

Кто-нибудь может указать, в чем здесь проблема?

1 ответ

Решение

${f%.wav} удаляет .wav с конца переменной. поскольку f только когда-либо содержит имена файлов с .gsm в конце, ${f%.wav} выводит имя файла без изменений.

Вы, вероятно, хотите "${f%.gsm}.wav" вместо этого (при условии, что (а) sox на самом деле конвертировать файлы, и только расширение является неправильным или (б) sox использует имена файлов для определения требуемого преобразования, поэтому исправление имен файлов будет исправлять преобразование).

Другие вопросы по тегам