转载 自 https://ostechnix.com/how-to-rename-multiple-files-at-once-in-linux/
安装
$ sudo apt-get install mmv
Let us say, you have the following files in your current directory.
使用方法
1.替换目标字符
$ ls
a1.txt a2.txt a3.txt
$ mmv a\* b\#1
把’名字中的’a’变成’b’
$ ls
b1.txt b2.txt b3.txt
mmv寻找所有以字母’a’开头的文件[起点],并且重命名为’b’[终点], 可以使用 转义通配符‘*’, ‘?’ and ‘[]‘组合以匹配更多的替换需求,.
[终点]中’#1’是shell的转义通配符, 他表示用[终点]‘b’替换第一个找到的’a’
如果是’#2’将会替换第二个找到的,以此类推
2.替换文件后缀名
重命名txt文件到doc文件
$ mmv \*.txt \#1.doc
$ ls
abcd1.txt abcd2.txt abcd3.txt
其他例子
$ mmv '*abc*' '#1xyz#2'
$ ls
xyzd1.txt xyzd2.txt xyzd3.txt
See? The files abcd1.txt, abcd2.txt, and abcd3.txt have been renamed to xyzd1.txt, xyzd2.txt, and xyzd3.txt.
加上-n 来看重命名的替换表
$ mmv -n a\* b\#1
a1.txt -> b1.txt
a2.txt -> b2.txt
a3.txt -> b3.txt
更多信息查看mmv的官方文档
$ man mmv