Я пытаюсь получить базовое имя (без расширения файла), чтобы я мог быстро обрабатывать каталог аудиофайлов (.flac -> .m4a) и создавать правильные имена файлов.ZSH: получить basename for for loop
Так это работает:
for i in *.flac;do ffmpeg -i $i -c:a libfdk_aac -vbr 3 $i.m4a; done
Но это оставляет меня с файлом, как так: audiofile.flac.m4a
Что я хотел бы сделать, это просто захватить «аудиофайл» часть имени файла, так что это работает:
for i in *.flac;do ffmpeg -i $i.flac -c:a libfdk_aac -vbr 3 $i.m4a; done
Но я не понимаю, модификаторы (по-видимому «: т»? модификатор может получить мне результаты) или как определить переменные на для loop (для каждого файла). Кроме того, я вижу, что есть много примеров того, как это сделать с BASH, но я ищу что-то, что работает с zsh.
Любые идеи?
Спасибо!