rename(Perl语言版本) 详解

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			强制覆盖已有文件
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值