概述
mmv 是 'mass move' 的缩写,是一个专门用于一次性处理多个文件的实用工具。与 `mv` 主要用于移动/重命名单个文件不同,mmv 使用 `*.jpeg` 等通配符模式定义源文件集,并将其转换为新模式以生成目标文件集。特别是,`rename` 专注于重命名功能,而 `mmv` 的优势在于它集成了复制 (`cp`)、链接 (`ln`) 和移动 (`mv`) 等所有功能。
主要特点
mmv 命令的主要特点如下:
- 使用通配符模式批量处理多个文件。
- 提供移动 (`mv`)、复制 (`cp`)、链接 (`ln`) 和重命名文件的集成功能。
- 与 `rename` 类似,但功能更丰富,使用方法更直观。
- 发生冲突时输出警告信息,防止误操作。
mmv 与 rename 的区别
mmv 和 rename 都用于批量更改文件名,但工作方式有所不同。
- mmv: 使用通配符 (`*`、`?`、`[ ]`) 定义模式,并使用数字 (#1, #2) 重构捕获的部分。还提供复制/移动/链接功能。
- rename: 专门用于使用 Perl 正则表达式 (`s/pattern/replacement/`) 更改名称。
主要选项
mmv 命令可以通过文件处理方式和选项来控制详细行为。
1) 파일 처리 옵션
2) 패턴 매칭
生成的命令:
请尝试组合命令。
描述:
`mmv` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
通过 mmv 命令的各种使用示例来学习其功能。
更改文件扩展名
mmv '*.jpeg' '#1.jpg'
将当前目录下所有 `.jpeg` 扩展名更改为 `.jpg`。
在文件名中添加前缀
mmv '*.txt' 'doc_#1.txt'
将 `doc_` 前缀添加到所有 `.txt` 文件。
移动目录
mmv '*.log' '/var/log/#1.log'
将当前目录下所有 `.log` 文件移动到 `/var/log` 目录。
更改大小写
mmv '*.*' '#l1.#l2'
将文件名的字母从大写更改为小写。
预览更改结果
mmv -n '*.bak' '#1.old'
不实际更改文件,预先查看将 `.bak` 扩展名更改为 `.old` 时的结果。
安装
mmv 默认不包含在大多数 Linux 发行版中,因此需要使用以下命令进行安装。
Debian/Ubuntu
sudo apt update
sudo apt install -y mmv
RHEL/CentOS/Fedora
sudo dnf install -y mmv
Arch Linux
sudo pacman -S mmv
提示与注意事项
整理了使用 mmv 命令时需要注意的事项。
提示
- mmv 的模式语法类似于 shell 的通配符。`*` 表示任意字符串,`?` 表示单个字符。`from_pattern` 中的 `*` 可以在 `to_pattern` 中通过 `#1`、`#2` 等数字进行引用。
- 如果文件名冲突,`mmv` 默认不执行操作并输出警告。可以使用 `-f` 选项强制覆盖冲突,但请注意数据丢失的风险。
- 为防止正则表达式和通配符模式被 shell 扩展,必须将模式字符串用单引号 (`'`) 括起来。