Linux rename 命令

xwbar的头像
2025-06-29 09:07:28
/
中国勇夺世界杯

Linux rename 命令

Linux 命令大全

rename 命令是 Linux 系统中用于批量重命名文件的实用工具。它通过使用正则表达式或简单的字符串替换,可以高效地对多个文件进行重命名操作,特别适合需要批量处理文件名的场景。

基本语法

rename 命令的基本语法格式如下:

rename [选项] '表达式' 文件...

参数说明

表达式:指定文件名转换规则的正则表达式或替换字符串

文件:要重命名的目标文件,支持通配符(如 *.txt)

常用选项

选项

描述

-v

显示详细操作信息(verbose)

-n

模拟运行,不实际执行重命名(dry-run)

-f

强制覆盖已存在的文件

-h

显示帮助信息

使用示例

1. 简单字符串替换

将当前目录下所有 .html 文件扩展名改为 .php:

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

代码解析:

s/ 表示替换操作开始

.html$ 匹配以 .html 结尾的文件名($ 表示行尾)

/.php/ 替换为 .php 扩展名

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

功能:将文件名中的数字序列格式化为3位数(如 1.png → 001.png)

2. 条件重命名

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

功能:仅对 .jpeg 文件进行扩展名修改

注意事项

备份重要文件:在执行批量重名前,建议先使用 -n 选项测试

正则表达式语法:不同 Linux 发行版的 rename 实现可能不同

特殊字符处理:文件名包含特殊字符时需要转义

权限问题:确保对目标文件有写权限

替代方案

如果系统没有预装 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 文件管理的强大工具,通过掌握其正则表达式语法,可以高效完成各种复杂的批量重命名任务。建议从简单替换开始练习,逐步掌握更高级的用法。

Linux 命令大全

开机提示NTLDR is missing该怎么办? - 都叫兽软件
贝亲日本进口奶瓶