[开发脚本]
[root@oldboy oldboy]# cat oldboy_modi_file.sh
#!/bin/sh
for file in `ls ./*.jpg`
#shell脚本for循环,file为变量依次取得ls ./*.jpg的结果文件名
do
mv $file `echo $file|sed 's/finished//g'`
#使用mv命令进行更改文件,新的文件名字符串拼接是本题的重点。
done
#特别提示:通过本题,可以学习到for循环的使用,及mv、sed等命令的使用
[root@oldboy oldboy]#cat change_file_name.sh
#!/bin/sh
# oldboy QQ:31333741
for file in `ls ./*.jpg`
do
/bin/mv $file `echo "${file%finished*}.jpg"` #这里就是变量的截取新方法,在老男孩的shell编程课程中会讲到此用法。
done
############################################################
i=ip.log
echo "${i/%log/LOG}"
方法三:ls结合awk实现
[root@oldboy oldboy]# ls |awk -F 'finished' '{print $0}'
[root@oldboy oldboy]# ls |awk -F 'finished' '{print $1}'
[root@oldboy oldboy]# ls |awk -F 'finished' '{print $2}'
[root@oldboy oldboy]# ls |awk -F 'finished' '{print $1$2}'
[root@oldboy oldboy]# ls |awk -F 'finished' '{print "mv "$0" "$1$2" "}'|/bin/bash
方法四:通过专业的改名命令rename实现
[root@oldboy oldboy]# rename .jpg .oldboy *
原文:http://oldboy.blog.51cto.com/2561410/711342/