参考了:[新手入门] 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即可.
修改文件名前 #!/bin/bask # for a in $( ls /etc/yum.repos.d/CentOS* );do if [ $a != '/etc/yum.repos.d/CentOS-Media.repo' ];then #CentOS-Media.repo的文件名不修改 mv $a $a.bak #给文件加上后缀 .bak fi done 测试: 删除文件后缀 .bak#!/bin/bask # for a in $( ls /etc/yum.repos.d/Cent* )
修改文件名,替换中间字符: 例如: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
修改文件名可以用mv命令来实现 mv filename1 filename2 1 但如果批量修改还是使用rename命令更为方便 现在我们有a b c d 四个文件 增加后缀 rename 's/$/\.txt/' * 1 a.txt b.txt c.txt d.txt 修改后缀 rename 's/\.txt/\.dat/' * 1 a.dat b.dat c.dat d.dat 删除后缀 rename 's/\.dat//' * 1 a b c d 批量修改,比如将a改为aa,b改为bb r
2.23/2.24/2.25 find命令 2.26 文件名后缀 find 搜索文件的命令: which 它是从环境变量中找: [root@centos_1 ~]# which ls alias ls='ls --color=auto' /usr/bin/ls 环境变量: [root@centos_1 ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/tmp/:/root/bin whereis ls 查看文