使用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。

相关文章
|
7月前
讲解:如何根据txt文本列出的文件名批量查找指定文件夹里的文件并复制到新的文件夹里 , 按照文件名批量复制文件 , 根据文件名批量复制 , 通过文件名批量复制文件
该文介绍了一款批量文件处理软件,用于解决三类问题:依据文件名清单批量复制图片、筛选PDF文件及删除指定文件。用户可从百度或腾讯下载链接获取软件。操作步骤包括加载文件夹、输入文件名清单、设置目标位置、选择操作类型(复制、剪切或删除)及匹配方式,然后开始查找。软件能快速处理大量文件,提高办公效率,避免手动操作。查找结果会显示在特定文件夹和日志中,记录每个操作详情。
683 5
|
7月前
|
定位技术 Python
PowerShell批量修改、替换大量文件的文件名
PowerShell批量修改、替换大量文件的文件名
164 1
批量修改文件名.bat
批量修改文件名.bat
103 0
|
Shell Perl
批量修改文件名
批量修改文件名
279 1
shell 批量修改文件名
shell 批量修改文件名
如何批量添加或修改文件扩展名
如何批量添加或修改文件扩展名
336 0
批量修改文件名后缀,并批量将本地图片保存到word中
批量修改文件名后缀,并批量将本地图片保存到word中
批量修改文件名后缀,并批量将本地图片保存到word中
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)
1198 0
bat文件调用cmd命令批量提取文件夹中的文件名(批量修改文件扩展名)