当前位置:8090st.com >系统管理 > 查看文章
阿里云优惠码

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

ren *.jpe *.jpg

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

rename
应注意,rename有两种用法不同的版本,一种是个Perl脚本[1],rename的使用也支持Perl的正则表达式,主要见于Debian、Ubuntu等发行版;另一种则是util-linux的一部分,使用方式更简单。[2]

可以使用man rename来判定自己系统安装的是什么rename。
基于Perl的rename
该rename的基本语法是

rename perl表达式 文件名

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

举几个比较实用的例子:

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

util-linux中的rename
该rename用法较为简单:

rename [options] expression replacement file...

如下述命令将当前目录后缀为.htm的文件改为.html。

rename .htm .html *.htm

其它工具
也有些图形界面的批量重命名,如GPRename、krename,可惜比较老了。最近有更新的是一款叫做Métamorphose的Python软件。

另外,也有一些命令行小工具或是Nautilus插件可选用,如:Mass Rename(mrename)[4],purrr等。

本文链接:https://www.8090st.com/linux-piliang-ming.html 转载请注明出处.
如果喜欢:点此订阅本站
相关文章
为您推荐
各种观点
暂时还木有人评论,坐等沙发!
发表评论

快捷键:Ctrl+Enter