rename 命令介绍和使用案例
rename
命令是 Linux 中用于批量重命名文件的强大工具。与传统的 mv
命令相比,rename
更擅长处理需要根据模式或规则进行的批量重命名任务,特别是在数据处理和文件管理中非常有用。
基本语法
rename [选项] '正则表达式' [文件...]
- 正则表达式:用于匹配要重命名的文件名模式。
- 文件:要重命名的文件列表,支持通配符。
常用选项
选项 | 说明 |
---|---|
-v 或 --verbose | 显示详细的重命名信息。 |
-n 或 --no-act | 预览重命名结果,但不实际执行。 |
-f 或 --force | 强制重命名,即使目标文件已存在。 |
-i 或 --interactive | 在重命名前进行交互式确认。 |
安装部署
使用案例
1. 将文件名中的空格替换为下划线
假设您有一批文件名中包含空格的文件,可以使用以下命令将空格替换为下划线:
rename 's/ /_/g' *
2. 批量添加文件扩展名
如果您有一批没有扩展名的文件,可以使用以下命令为它们添加 .txt
扩展名:
rename 's/$/.txt/' *
3. 批量删除文件扩展名
如果您想批量删除文件的扩展名,可以使用以下命令:
rename 's/\..*//' *.txt
这条命令将所有 .txt
文件的扩展名删除。
4. 修改文件后缀
将所有 .html
后缀的文件改为 .php
后缀:
rename 's/\.html$/.php/' *.html
5. 测试重命名是否遇到同名
在实际执行之前,可以使用 -n
参数进行预览:
rename -n 's/.txt/.log/' *.txt
这将显示如果执行重命名会出现的情况,而不实际执行。
6. 强制覆盖同名文件
如果存在同名文件并希望强制覆盖,可以使用 -f
参数:
rename -f 's/.txt/.log/' *.txt
注意事项
- 备份重要文件:在使用
rename
命令之前,请确保对重要文件进行备份,以防意外情况发生。 - 测试命令:在正式执行
rename
命令之前,建议使用-n
参数进行预览和测试。 - 谨慎使用通配符:确保通配符不会匹配到不希望重命名的文件。