先确认rename版本并安装Perl版,再用正则语法批量修改文件名。例如:替换扩展名、删空格、改大小写、加前缀后缀等,推荐使用-n预览和-v查看详细过程,确保操作安全。

在Linux中批量修改文件名,可以用 rename 命令,它比手动重命名或结合循环操作更高效。rename 有不同版本(比如 Perl 版本和 util-linux 版本),最常用的是 Perl 版本,功能更强大。
1. 确认 rename 命令版本
先检查系统是否安装了 Perl 版的 rename:
rename -v如果提示未找到命令,可以使用以下方式安装:
- Ubuntu/Debian:sudo apt install rename
- CentOS/RHEL:sudo yum install prename 或启用 EPEL 后安装
- Fedora:sudo dnf install perl-rename
2. Perl 版 rename 基本语法
rename 's/原字符串/新字符串/' 文件列表其中 s/原字符串/新字符串/ 是 Perl 的替换语法,类似于 sed。
3. 常见用法示例
将所有 .txt 文件改为 .md 扩展名:
rename 's/\.txt$/.md/' *.txt删除文件名中的空格(替换为空):
rename 's/\s+//g' *将文件名中的下划线 "_" 替换为连字符 "-":
rename 's/_/-/g' *将所有文件名转为小写:
rename 'y/A-Z/a-z/' *将所有文件名转为大写:
rename 'y/a-z/A-Z/' *移除文件名开头的 "old_":
rename 's/^old_//' *添加前缀,比如给所有 .log 文件加 "backup_":
rename 's/^/backup_/' *.log添加后缀:
rename 's/$/.bak/' *4. 安全操作建议
- 先用 echo 测试匹配效果:
echo *.txt | xargs rename -n 's/\.txt$/.md/'
-n 参数表示预览,不实际执行。 - 加上 -v 参数查看详细更改过程:
rename -v 's/\.txt$/.md/' *.txt
基本上就这些。掌握正则替换语法,rename 就能灵活处理各种批量改名需求。注意区分系统默认的 rename 版本,推荐使用支持 Perl 正则的版本。










