Если в именах файлов гарантированно указан хотя бы один .
с непустыми строками перед и после .
, то это вопрос простых расширений параметров.
for f in file1.some.stuff.mp3 file2.other.stuff.stuff.mp3 file3.some.thing.mp3 file4.one.two.three.four.mp3; do
echo "${f%%.*}.${f##*.}"
done
производит
file1.mp3
file2.mp3
file3.mp3
file4.mp3
В каталоге, куда выходят файлы, используйте что-то вроде
for f in *.mp3; do
, чтобы перебрать все файлы MP3.