在 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,可以使用如下命令:
[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
。
總結
想了解更多信息,可以查看手冊# man mmv
。