批量重命名文件

出自Linux Wiki

在2011年7月23日 (六) 09:53由Nonoob (讨论 | 贡献)所做的修订版本

有时需要对大量文件进行重命名:如把所有.jpe文件后缀改名为.jpg文件等等。多数Windows/DOS用户可能都习惯了DOS中ren命令的使用方法:

ren *.jpe *.jpg

在Linux中没有ren命令,mv命令也不支持这种使用方法,这使得不少用户误以为Linux没有批量重命名文件的功能。实际上并非如此,rename命令不仅可以轻松实现这一功能,而且还支持更为复杂的重命名操作。

rename

在多数系统中,rename是一个Perl脚本,rename的使用也支持Perl的正则表达式

rename的基本语法是

rename perl表达式 文件名

perl表达式用于修改文件名,如s开头的串表示替换。

举几个比较实用的例子:

# 删除所有的.bak后缀:
rename 's/\.bak$//' *.bak
 
# 把.jpe文件后缀修改为.jpg:
rename 's/\.jpe$/\.jpg/' *.jpe
 
# 把文件名改为小写:
rename 'y/A-Z/a-z/' *

其它图形界面的工具

图形界面的批量重命名工具很多,如GPRename、krename、Mass Rename(mrename),purrr等。

还有一个脚本,可以在Nautilus中直接进行重命名,见 http://linuxtoy.org/archives/batch-rename-for-nautilus.html

个人工具
简体繁体转换