spaces to underscore:
find . -name "* *" -type d | rename -v -f 's/ /_/g'
find . -name "* *" -type f | rename -v -f 's/ /_/g'
change all to lowercase:
find . -depth -exec rename -v -f 's/(.*)\/([^\/]*)/$1\/\L$2/' {} \;
fix “-_” examples:
find . -name "*-_*" -type f | rename -v -f 's/-_/_/g'