在 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
。
總結