rename 是 linux 系统中的一个小工具(支持正则),主要用于更改文件名,批量改更见效率!注意结合文件名的通配符使用(?, *),才能更大发挥其效用!
预备知识
| 正则表达式符号 | 含义 |
|---|---|
^ | 匹配输入的开始位置 |
$ | 匹配输入的结尾 |
. | 匹配除换行符外的任意字符 |
+ | 匹配输入字符一次或多次 例如,“c+“可以匹配"cd"或"cads”,但不匹配末尾字符"c” |
a-z | 表示某个范围内的字符,例如,"a-z"匹配"a"与"z"之间的任何一个小写字母字符。 |
查找替换文件名子串
将每个文件名中第一个 ‘a’ 换成 ‘4’:
rename 's/a/4/' *
将每个文件名中所有 ‘a’ 换成 ‘4’:
rename 's/a/4/g' * # 注意 g 的含义(所有,不止第一个)
去除某种文件后缀名(.cpp为例):
rename 's/\.cpp$//' * # ’\‘ 为转移字符,'\.' 转义为 .
将文件名中大写字母转小写:
rename 'y/A-Z/a-z/' *
将所有文件统一加上后缀(.txt 为例):
rename 's/$/.txt/' *
将所有文件后三个字符换成 abc:
rename 's/...$/abc/' * # 几个字符就用几个点
将所有文件统一加上前缀(abc 为例):
rename 's/^/abc/' *
统一删除某前缀(abc 为例):
rename 's/^abc//' *
统一删除某后缀(abc 为例):
rename 's/abc$//' *
将所有文件前三个字符换成 abc:
rename 's/^.../abc/' * # 几个字符就用几个点
将以字符 ‘c’ 开头且第四个字符为 ‘w’ 的文件名中的 ‘aa’ 换成 ‘bb’:
rename 's/aa/bb/' c??w*
几个常用参数(必须紧跟在 rename 后)
-v 打印成功改名后的文件名
-n(常用) 打印即将改名的文件名,但不执行操作(预览)
-f 强制覆盖已有文件
本文介绍了Linux系统中的rename工具,它主要用于更改文件名,批量更改效率高。文中提及要结合文件名通配符(?, *)发挥其更大效用,还列举了查找替换文件名子串的多种操作示例及几个常用参数。
 详解&spm=1001.2101.3001.5002&articleId=88674459&d=1&t=3&u=3fccf7b95cf44b6e80a7adc916b441b6)
374

被折叠的 条评论
为什么被折叠?



