天天看點

使用mmv指令批量修改檔案名稱下載下傳阿裡雲的epel源檔案。清楚yum緩存,并重新生成緩存安裝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

[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。

繼續閱讀