贝利信息

linux批量重命名文件是什么-rename 命令使用与实例

日期:2025-08-12 00:00 / 作者:P粉390130307

Linux rename 命令


rename
是 Linux 系统中用于一次性修改多个文件名称的命令行工具。它支持通过正则表达式或字符串替换的方式,对大量文件进行快速重命名,适用于需要集中处理文件名的情况。


基本语法

该命令的标准写法如下:

rename [参数] '规则' 文件...

参数解释


常用参数

参数 作用
`-v` 输出执行过程信息(详细模式)
`-n` 仅预览操作结果,不真正执行
`-f` 覆盖已存在的文件
`-h` 查看帮助文档

操作示例

1. 替换扩展名

将当前目录下所有

.html
文件改为
.php

rename 's/.html$/.php/' *.html

说明

2. 添加前缀

为所有

.txt
文件加上
backup_
前缀:

rename 's/^/backup_/' *.txt

3. 清除空格

移除所有文件名中的空格字符:

rename 's/ //g' *

注意

g
表示全局替换(替换所有匹配项)

4. 调整大小写

.jpg
后缀统一改成大写格式:

rename 's/.jpg$/.JPG/' *.jpg

进阶技巧

1. 使用变量和格式化

rename 's/(d+)/sprintf("%03d", $1)/e' *.png

功能:将文件名中的数字部分补零至三位数(如

img1.png
img001.png

2. 按条件重命名

rename 'if (/.jpeg$/) { s/.jpeg$/.jpg/ }' *

功能:只对后缀为

.jpeg
的文件进行重命名


注意事项

  1. 提前备份关键数据:建议先用
    -n
    测试效果再正式执行
  2. 正则差异性:不同系统的
    rename
    实现可能略有区别
  3. 特殊字符处理:文件名含特殊符号时需进行转义
  4. 权限控制:确保拥有目标文件的写入权限

替代方法

若系统未安装

rename
工具,可尝试以下方案:

1. 利用
mv
配合循环实现

示例

for file in *.html; do
mv "$file" "${file%.html}.php"
done

2. 安装 Perl 版 rename

示例

# Ubuntu/Debian
sudo apt install rename

# CentOS/RHEL
sudo yum install prename


总结

rename
是 Linux 中非常实用的批量改名工具,掌握其正则表达式语法能够轻松应对各种复杂的文件名调整任务。建议从基础替换开始学习,逐步提升到复杂应用。