Имя файла без расширения в bash для цикла

В цикле for, подобном этому:

for f in `ls *.avi`; do echo $f; ffmpeg -i $f $f.mp3; done

$ f будет полным именем файла, включая расширение. Например, для song1.avi вывод команды будет song1.avi.mp3. Есть ли способ получить только song1 без .avi из цикла for?

Я полагаю, что есть способы сделать это с помощью awk или других подобных инструментов, но я надеюсь, что есть что-то более простое.

Спасибо

51
задан Peter van der Heijden 18 August 2011 в 22:28
поделиться