批量修改文件名,rename命令行参数的正确理解!

批量修改文件名,rename命令行参数的正确理解!

rename命令格式很固定
rename xx yy *zz?
固定3个参数,第3个参数使用通配符

真确理解:
将满足通配符*zz?(当然通配符有很多表达方式)的所有文件找出;接着在每个找出的文件名中找到含有xx的部分,将xx替换成yy,如果某个找出的文件名没有含有xx就不进行任何操作,如果某个找出的文件名含有多个xx就只将第一个xx替换成yy。

例子:
[root@lcf html]# ls
aabbccaabbcc.html  aabb.html  bbcc.html  ccdd.html  tt.txt
[root@lcf html]# rename bb ww *tml
[root@lcf html]# ls
aawwccaabbcc.html  aaww.html  ccdd.html  tt.txt  wwcc.html
[root@lcf html]#
说明:先查找符合*tml文件,tt.txt被首先排除;aabbccaabbcc.html有两个bb,但只改了第一个bb为ww,ccdd.html符合前面的通配符,但没有bb部分,因此不动。

顺便说一句,改单个文件名用mv命令。
大家给点意见啊!
牙好胃口就好!
有问题先自己解决!
个人用mv多了,总是忘记还有其他的命令