Linux中常常会使用到重命名文件的操作,为了更好的组织文件和批量重命名文件,可以使用相关工具如mv或者rename等基本工具来完成。Mmv是一个可以实现便捷式一次性重命名多个文件的强大工具。
mmv指的是multiple move,属于命令行实用程序可以实现一次性重命名、移动和复制多个文件。一次重命名一个文件的mv工具有所不同,mmv可以轻松处理批量重命名。Linux中安装mv:
sudo apt install mmv [在Debian、Ubuntu 和 Mint上]
sudo yum install mmv [在RHEL/CentOS/Fedora和Rocky/AlmaLinux上]
sudo emerge -a sys-apps/mmv [在Gentoo Linux上]
sudo apk add mmv [在Alpine Linux上]
sudo zypper install mmv [在OpenSUSE上]
sudo pkg install mmv [在FreeBSD上]
如果是在Arch Linux中需要从AUR存储库中安装mmv:
sudo pacman -S git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si
yay -S mmv
安装完成后就可以开始重命名文件。使用方法为:
mmv [options] source_pattern target_pattern
上述命令中,source_pattern指的是用户要重命名文件的匹配模式。target_pattern是希望重命名的文件显示的方式。如想把全部.txt文件重命名成.md文件:
mmv '*.txt' '#1.md'
#1代表的是文件名中通配符匹配部分。
在Linux中使用mmv还有一些高级重命名示例,如可以使用这个方法重命名多个文件。比如有file1.txt、file2.txt、file3.txt等,并且您想要将它们重命名为document1.txt、document2.txt、document3.txt等:
mmv 'file*.txt' 'document#1.txt'
其中,'file*.txt' 是匹配全部使用file开头结尾用.txt的文件。'document#1.txt'是把它们都重新命名为document1.txt、document2.txt等文件。
也可以用来添加前缀或者后缀重命名文件,如想给一组文件添加前缀/后缀,如image1.jpg、image2.jpg、image3.jpg等文件,并且您想2025_为每个文件添加前缀:
mmv'*.jpg''2025_#1.jpg'
以上命令可以完成把文件重命名为2025_image1.jpg、2025_image2.jpg等。如果是想添加后缀:
mmv'*.jpg''#1_2025.jpg'
还可以把mmv用于正则表达来匹配复杂模式,如有data_01.txt、data_02.txt、data_03.txt等文件,并且您想删除数字中的前导零:
mmv 'data_0*.txt' 'data_#1.txt'
如果是想在子目录中有文件且重命名,可以使用r选项来递归方式重命名文件。如想重命名.txt当前目录和全部子目录文件:
mmv-r'*.txt''#1.txt'
Linux中重命名文件的任务不难,但是特殊情况下使用mmv来完成重命名,可以使用更多高级模式重命名文件,节省较多时间和精力。