插件窝 干货文章 Linux rename命令正则表达式实例详解 - IT工程师必备技能

Linux rename命令正则表达式实例详解 - IT工程师必备技能

Linux rename命令正则表达式实例详解

一、rename命令简介

rename是Linux系统中用于批量重命名文件的实用命令,它支持强大的正则表达式功能,可以高效地完成复杂的文件重命名操作。

二、基本语法

rename 's/原模式/新模式/' 文件名

三、正则表达式实例演示

案例1:批量修改文件扩展名

将所有.txt文件改为.md文件:

rename 's/\.txt$/.md/' *.txt

解析:
- \. 匹配点字符
- txt$ 匹配以txt结尾的字符串

案例2:在文件名前添加前缀

给所有jpg图片添加"vacation_"前缀:

rename 's/^/vacation_/' *.jpg

案例3:删除文件名中的特定字符

删除文件名中的所有空格:

rename 's/ //g' *

案例4:复杂模式替换

将形如"IMG_20220101.jpg"的文件改为"2022-01-01.jpg":

rename 's/IMG_(\d{4})(\d{2})(\d{2})\.jpg$/$1-$2-$3.jpg/' *.jpg

四、实用技巧

  • 使用-n参数预览重命名效果而不实际执行
  • 结合find命令处理子目录中的文件
  • 使用Perl正则表达式实现更复杂的匹配

五、注意事项

  1. 操作前建议先备份重要文件
  2. 使用-n参数先测试
  3. 注意不同Linux发行版中rename命令的实现可能不同