参考了:[新手入门] shell脚本批量修改文件名 4楼回复 我刚好是在vagrant+ubuntu中进行开发,windows手动修改太麻烦. #!/bin/ksh ls *.htm | while read NAME do echo $NAME page_article${NAME%\.htm}.php done 我是将所有的.htm修改了page_article{}.php文件 运行之后是对的,看到输出的结果是自己想要的,就将echo 替换为 mv即可.
修改文件名,替换中间字符: 例如:ABC_define_EFG.jpg,要把中间的define替换成argument: 用如下脚本即可: for var in *; do mv "$var" `echo "$var" | sed 's/define/argument/g'` ;done 参考材料: https://blog.csdn.net/isuker/article/details/51226179 https://www.jb51.net/article/33
[root@localhost file1]# ls a.htm b.htm c.htm d.htm pl.sh [root@localhost file1]# vi pl.sh #!/bin/bash for f in `ls *.htm` do mv $f `echo ${f/htm/html}` done [root@localhost file1]# sh pl.sh [root@localhost file1]# ls a.html b.html c.html d.html pl.sh