for f in `ls *.xxx`; do mv $f `echo $f | sed -E 's/old_name_part/new_name_part/'`; done
针对特殊情况,名称中有空格的处理:
BASH文件名称中有空格时,操作文件会将名称以空格分隔开。解决这个问题,需要调整分隔符:将bash中 IFS(Internal Field Separator)="\n\t" 转变为 "\n\b" ,具体操作
- 保存默认,便于后续恢复(不用也可以,关闭后会自动恢复):SAVEIFS=$IFS
- IFS=$(echo -en "\n\b")
- 如果恢复,则 IFS =SAVEIFS
参考: