使用mmv命令批量修改文件名称-阿里云开发者社区

开发者社区> 开发与运维> 正文

使用mmv命令批量修改文件名称

简介: 使用mmv命令批量修改文件名称

在 Linux 中使用 mv 命令可以重命名或者移动文件及目录,但是它不支持一次重命名多个文件。本文介绍mmv的使用方式,使用通配符模式移动/复制/追加/链接多个文件
环境
Centos7.7

安装mmv
在默认情况下,Centos7的网络源中没有mmv的安装包,我们需要先安装epel源,然后再安装mmv工具。

下载阿里云的epel源文件。

[root@localhost ~]# wget http://mirrors.aliyun.com/repo/epel-7.repo --directory-prefix=/etc/yum.repos.d

清楚yum缓存,并重新生成缓存

[root@localhost ~]# yum clean all && yum makecache

安装mmv

[root@localhost ~]# yum -y install mmv
使用mmv重命名文件实例
实例一
想删除重复的扩展名,例如扩展名是.rar.rar.rar,只保留一个.rar,可以使用如下命令:
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

[root@localhost test]# mmv '...' '#1.#2'
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称
可以看到扩展名已经变成一个.rar了。是不是很方便。

实例二
如果想要修改文件名和扩展名,但是不修改文件中的序号,可以这样做:
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

[root@localhost test]# mmv 'file*.rar' 'text#1.zip'
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

实例三
将当前目录里面所有.jpeg格式的文件转换成.jpg格式:
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

[root@localhost test]# mmv '*.jpeg' '#1.jpg'
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

实例四
将当前目录中的.html.cn,.html.en,.html.de修改为 cn.html,en.html,de.html
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

[root@localhost test]# mmv '*.html.??' '#1.#2#3.html'
使用mmv命令批量修改文件名称使用mmv命令批量修改文件名称

解释
Mmv后面第一个单引号里的参数叫做From,第二个单引号里面的参数叫做To。From中可以使用的通配符有*、?、[]、;。To中可以使用的通配符是#1,#2,#3…等。#号加数字形式,对应着From中的每一个通配符。

例如:

[root@localhost test]# mmv '*.html.??' '#1.#2#3.html'
这个例子中,From模式是'.html.??',To模式是 '#1.#2#3.html'。From模式中有三个通配符,,?,?。To模式中也对应着From模式#1,#2,#3。

总结
想了解更多信息,可以查看手册# man mmv。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章