First, exactly what characters would you like to remove or change ? I see an _ and numbers, anything else ? In fact it may be more prudent to say what characters to keep instead.
As an example I have a script that fixes names so they all are lowercase and removes spaces and illegal characters (or rather keeps good ones):
Code:
for i in *
do
mv "$i" $(echo "$i" | awk '{print(tolower($0))}' | sed 's|[^-._a-z0-9]||g')
done
this happens for all files in the directory, but instead of '*' you could put '*.mp3' for all mp3s in the directory. However, I think you might want to customize it.