在 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
[root@localhost ~]# yum -y install mmv
使用mmv重命名檔案執行個體
執行個體一
想删除重複的擴充名,例如擴充名是.rar.rar.rar,隻保留一個.rar,可以使用如下指令:
使用mmv指令批量修改檔案名稱使用mmv指令批量修改檔案名稱
[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中的每一個通配符。
例如:
這個例子中,From模式是'.html.??',To模式是 '#1.#2#3.html'。From模式中有三個通配符,,?,?。To模式中也對應着From模式#1,#2,#3。
總結
想了解更多資訊,可以檢視手冊# man mmv。