使用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
# 安裝mmv
[root@localhost ~]# yum -y install mmv
使用mmv重命名文件實例
實例一

想刪除重復的擴展名,例如擴展名是.rar.rar.rar,只保留一個.rar,可以使用如下命令
使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

[root@localhost test]# mmv '*.*.*.*' '#1.#2'

使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱
可以看到擴展名已經變成一個.rar了。是不是很方便。

實例二

如果想要修改文件名和擴展名,但是不修改文件中的序號,可以這樣做:
使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

[root@localhost test]# mmv 'file*.rar' 'text#1.zip'

使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

實例三

將當前目錄里面所有.jpeg格式的文件轉換成.jpg格式:
使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

[root@localhost test]# mmv '*.jpeg' '#1.jpg'

使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

實例四

將當前目錄中的.html.cn,.html.en,.html.de修改為 cn.html,en.html,de.html
使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

[root@localhost test]# mmv '*.html.??' '#1.#2#3.html'

使用mmv命令批量修改文件名稱使用mmv命令批量修改文件名稱

解釋

Mmv后面第一個單引號里的參數叫做From,第二個單引號里面的參數叫做ToFrom中可以使用的通配符有*?[];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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM