曲径通幽论坛

标题: rename -- 批量命名文件 [打印本页]

作者: beyes    时间: 2012-3-26 10:05
标题: rename -- 批量命名文件
rename 命令支持在命令行中给出正则表达式以批量命名文件,语法格式如下:
rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
其中,perlexpr 是符合 perl 风格的正则表达式。

1. 将当前目录下的所有 .txt 结尾的文件改为以 .jpg 结尾:
# ls
1.txt  2.txt  3.txt
# rename 's/\.txt$/\.jpg/g' *.txt
# ls
1.jpg  2.jpg  3.jpg
上面正则中的 s 表示替换。

2. 将下面的文件名中的大写字母改为小写字母:
# ls
ABC.jpg  OPQ.jpg  XYZ.jpg
# rename 'y/A-Z/a-z/' *.jpg
# ls
abc.jpg  opq.jpg  xyz.jpg
在上面的正则表达式中,y 表示转换。

另外,-v 选项表示打印出成功重命名的信息:
# rename -v 'y/a-z/A-Z/' *.jpg
abc.jpg renamed as ABC.JPG
opq.jpg renamed as OPQ.JPG
xyz.jpg renamed as XYZ.JPG[/qutoe]

-n 选项不会实际进行转换,只是列出哪些文件会被转换,以及转换后的结果如何的信息:
[quote]# rename -n 'y/a-z/A-Z/' *.jpg
abc.jpg renamed as ABC.JPG
opq.jpg renamed as OPQ.JPG
xyz.jpg renamed as XYZ.JPG

-f 选项表示强制覆盖原来的文件。




欢迎光临 曲径通幽论坛 (http://www.groad.net/bbs/) Powered by Discuz! X3.2