rename命令是Linux下功能非常强的的重命名工具,利用正则表达式使得其使用地非常灵活。
rename命令的格式:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v, --verboseVerbose: print names of files successfully
renamed.
-n, --no-actNo Action: show what files would have been renamed.
-f, --forceForce: overwrite existing files.
简单的rename使用命令:
字母的替换
rename "s/AA/aa/" * //把文件名中的AA替换成aa
修改文件的后缀
rename "s/.html/.php/" * //把.html 后缀的改成 .php后缀
批量添加文件后缀
rename "s/$/.txt/" * //把所有的文件名都以txt结尾
批量删除文件名
rename "s/.txt//" * //把所有以.txt结尾的文件名的.txt删掉
一条命令:
rename "s/.JPG/.jpg/" *
就完成了全部工作,哈哈。
比如在windows 7下复制整个文件夹下的文件再拷入同一文件夹,会产生很多文件名后加上“ - 副本”的文件,拷入linux下之后,感觉中文文件名操作不便,就可以用:
rename "s/ - 副本/_bak/" *
来一次性把所有文件改为后面加_bak的形式。
其实能看出perl的正则替换表达式与vi的替换表达式还是很象的。
--转自