Código:
$ for arch in *.MP3; do name=`echo "$arch" | cut -d. -f1`; mv "$arch" "${name}.mp3"; done
De esta forma procesamos todos los archivos en el directorio actual que coincidan con la extensión .MP3, guardamos la parte del nombre del archivo sin extensión dentro de la variable name y hacemos el renombrado.
Nota: Lo importante a tomar en cuenta en este ejemplo es el uso de "double-quotes" para encerrar el nombre de las variables ("$arch" y "${name}.mp3") ya que con esto evitamos que la shell interprete los nombres de los archivos como varias entradas en el caso que contengan espacios en blanco o caracteres de new-line dentro del nombre y trata a cada entrada como una sola. Imagino que es posible utilizar alguna aproximación distinta como el uso de find -print0 y xargs -0 ó xargs -i '{}' pero bueno, es bien sabido que en Linux hay mas de una forma de pelar a un gato =).
...