rename 命令:批量文件重命名
侧边栏壁纸
  • 累计撰写 146 篇文章
  • 累计收到 2 条评论

rename 命令:批量文件重命名

soulio
2024-09-24 / 0 评论 / 4 阅读 / 正在检测是否收录...

一、命令简介

rename​命令用于批量重命名文件或目录。使用正则表达式​来描述替换规则。

二、命令参数

rename [选项] <规则替换语法> <文件或目录列表>

选项:

  • -v, --verbose​: 显示重命名的详细信息。
  • -n, --no-act​: 模拟运行,不实际执行重命名操作。
  • -f, --force​: 强制执行,覆盖已存在的文件。
  • -h, --help​: 显示帮助信息。

规则替换语法

's/原始内容/替换内容/'
  • 's'​: 表示进行替换操作。
  • /原始内容/​: 可以是一个正则表达式,用来匹配原始内容文本。
  • /替换内容/​: 是要替换成的新内容。

在Linux命令中sed​、awk​和rename​等经常用到规则替换操作。

三、命令示例

  1. 模拟修改

    # 原始文件名
    ~/docs/tmp/探索rename命令 ❯ ls
    h1.mp3  h2.mp3  h3.mp3
    
    # 模拟修改
    ~/docs/tmp/探索rename命令 ❯ rename -n 's/mp3$/mp4/' *
    rename(h1.mp3, h1.mp4)
    rename(h2.mp3, h2.mp4)
    rename(h3.mp3, h3.mp4)
    
    # 不会真的改变文件名
    ~/docs/tmp/探索rename命令 ❯ ls
    h1.mp3  h2.mp3  h3.mp3
    
  2. 批量修改文件后缀

    # 原始文件名
    ~/docs/tmp/探索rename命令 ❯ ls
    h1.mp3  h2.mp3  h3.mp3 mp3试听.mp3
    
    # 使用-v显示修改过程  使用$只匹配后缀
    ~/docs/tmp/探索rename命令 ❯ rename -v 's/mp3$/mp4/' *
    h1.mp3 renamed as h1.mp4
    h2.mp3 renamed as h2.mp4
    h3.mp3 renamed as h3.mp4
    mp3试听.mp3 renamed as mp3试听.mp4
    
    # 文件名确实被修改了
    ~/docs/tmp/探索rename命令 ❯ ls
    h1.mp4  h2.mp4  h3.mp4 mp3试听.mp4
    

    注意:匹配mp3$​而不是mp3​。

  3. 更多示例

    # 将所有 .txt 文件扩展名更改为 .log
    rename 's/\.txt$/.log/' *.txt
    
    # 将文件名中的 old 替换为 new
    rename 's/old/new/' *old*
    
    # 将所有文件名中的空格替换为下划线
    rename 's/ /_/g' *
    
    # 将文件名中的大写字母转换为小写字母
    rename 'y/A-Z/a-z/' *
    
    # 将文件名中的数字 1 替换为数字 2
    rename 's/1/2/' *
    
    # 在文件名前添加日期(假设今天是2023年4月1日)
    rename 's/^/20230401-/' *
    
    # 删除文件名中的前缀(例如删除所有文件名中的 prefix_)
    rename 's/^prefix_//' *
    
    # 将文件名中的多个连续空格替换为一个空格
    rename 's/ +/ /g' *
    
    # 将文件名中的特定字符(例如 @)替换为其他字符(例如 #)
    rename 's/@/#/g' *
    
    # 将所有 .jpg 文件名中的 image 替换为 photo
    rename 's/image/photo/' *.jpg
    
    

注意事项

  • 使用rename​命令时要小心,特别是在使用模式匹配时,确保模式匹配准确,避免意外重命名文件。
  • 可以通过添加-n​选项来进行测试,查看实际执行时的操作,避免意外情况发生。
  • 在使用正则表达式时要注意转义特殊字符,以避免意外匹配。

视频教程:

批量文件重命名命令:rename_哔哩哔哩_bilibili

本文共 546 个字数,平均阅读时长 ≈ 2分钟
0

海报

正在生成.....

评论 (0)

取消