Je préfère utiliser la commande 'rename', qui prend des regex de style Perl :
rename "s/ /_/g" *
Vous pouvez faire un essai avec le drapeau -n :
rename -n "s/ /_/g" *
Cela devrait le faire :
for file in *; do mv "$file" `echo $file | tr ' ' '_'` ; done