#!/bin/bash find . -name "* *" | while read name; do na=$(echo $name | tr ' ' '_') mv "$name" $na done #!/bin/bash #Replace all spaces in the files in current directory and subfolder with #underline. for x in `ls -R`; do mv "$x" `echo -n $x | tr " " "_"`; done 感谢:http://blog.chinaunix.net/u/11598/showart_1921157.html http://blog.csdn.net/sabalol/archive/2009/11/12/4804607.aspx