
在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等。
你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心。 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。
环境
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,可以使用如下命令:
[root@localhost test]# mmv '*.*.*.*' '#1.#2'
可以看到扩展名已经变成一个.rar
了。是不是很方便。
实例二
如果想要修改文件名和扩展名,但是不修改文件中的序号,可以这样做:
[root@localhost test]# mmv 'file*.rar' 'text#1.zip'
实例三
将当前目录里面所有.jpeg格式的文件转换成.jpg格式:
[root@localhost test]# mmv '*.jpeg' '#1.jpg'
实例四
将当前目录中的.html.cn
,.html.en
,.html.de
修改为cn.html
,en.html
,de.html
[root@localhost test]# mmv '*.html.??' '#1.#2#3.html'
解释
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
。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/210222.html<