摘要:在文件管理过程中,批量重命名文件可能是一个繁琐的任务。mmv 是一个功能强大的工具,可以帮助我们实现高效、灵活的文件重命名。本文将从 mmv 的安装开始,逐步讲解如何利用它进行高级文件重命名,配以详细示例,帮助你快速掌握这一工具。
在文件管理过程中,批量重命名文件可能是一个繁琐的任务。mmv 是一个功能强大的工具,可以帮助我们实现高效、灵活的文件重命名。本文将从 mmv 的安装开始,逐步讲解如何利用它进行高级文件重命名,配以详细示例,帮助你快速掌握这一工具。
mmv 是一种命令行工具,专为批量移动、复制、链接或重命名文件而设计。它支持复杂的模式匹配和替换操作,可以轻松完成大批量文件名修改的任务。
mmv 的主要特点包括:
1. 强大的模式匹配功能:支持通配符和占位符,方便批量操作。2. 支持多种操作:可以选择移动、复制、硬链接或符号链接。3. 高效性:在大批量文件操作中表现出色。4. 保护机制:在实际操作之前提供预览,避免误操作。在大多数 Linux 发行版上,可以通过包管理器安装 mmv。例如:
sudo apt updatesudo apt install mmv如果使用的是 macOS,可以通过 Homebrew 安装:
brew install mmv安装完成后,可以通过运行以下命令验证:
mmv [选项]参数说明:
• :匹配要操作的文件名,支持通配符(* 和 ?)。• :定义新文件名的格式,支持占位符。• *:匹配任意长度的字符。• ?:匹配单个字符。• #1, #2...:占位符,用于捕获来源模式中匹配的内容。例如,假设当前目录下有以下文件:
file1.txtfile2.txtfile3.txt执行以下命令:
mmv "file*.txt" "document#1.txt"结果是:
file1.txt -> document1.txtfile2.txt -> document2.txtfile3.txt -> document3.txt如果需要将所有 .txt 文件改为 .md,可以使用以下命令:
mmv "*.txt" "#1.md"这里,#1 表示匹配的文件名主体(去掉扩展名)。
• 添加前缀:mmv "*.txt" "prefix_#1.txt"这会将所有 .txt 文件的名称前添加 prefix_。
• 添加后缀:mmv "*.txt" "#1_suffix.txt"这会为所有 .txt 文件的名称添加后缀 suffix。
如果想将文件按数字顺序命名,可以使用以下方式:
假设当前目录有以下文件:
image_a.jpgimage_b.jpgimage_c.jpg运行命令:
mmv "*.jpg" "#1_#n.jpg"结果是:
image_a.jpg -> image_1.jpgimage_b.jpg -> image_2.jpgimage_c.jpg -> image_3.jpgmmv "*.log" "$(date +%Y%m%d)_#1.log"例如,2025 年 1 月 23 日运行时,example.log 会被重命名为 20250123_example.log。
mmv 默认只处理当前目录下的文件。如果需要递归处理子目录中的文件,可以结合 find 命令:
find . -type f -name "*.txt" -exec mmv "{}" "{#1.md}" \;如果目标文件名与已有文件冲突,mmv 会直接报错,避免数据被覆盖。可以通过修改目标模式来避免冲突。例如:
mmv "*.txt" "#1_new.txt"1. 预览操作:建议在正式执行之前添加 -n 选项以查看操作结果。例如:mmv -n "*.txt" "#1_backup.txt"这会显示将执行的操作而不真正重命名文件。
1. rename:另一个强大的重命名工具,支持正则表达式。2. pyRenamer:基于图形界面的工具,适合不熟悉命令行的用户。3. 自定义脚本:利用 Python 或 Shell 脚本,定制批量重命名逻辑。赶快试试 mmv,让你的文件管理变得更高效吧!
来源:wljslmz