shell包含空格的文件名替换大小写 For解决,通过修改IFS: old_ifs="$IFS" ; IFS=$'\n';for i in `ls`; do mv "$i" "$(echo "$i" | sed 's/.*/\L&/g')" ; done ; IFS="$old_ifs" while解决: ls |grep '[A-Z]'| while read i;do mv "$i" "`echo $i|sed 's/.*/\L&/g'`" ;done