linux文件夹重命名rename(举例讲解Linux中的重命名命令rename的使用方法)
rename 用于 对文件进行命名管理 ,可进行批量命名并支持正则表达式 , rename命令存在两个版本用法上有所区别 一个是 C语言版本支持通配符,另一个是 Perl版本.支持正则表达式
命令格式:
Usage: rename [-v] [-n] [-f] perlexpr [filenames]参数说明:
v 显示文件重命名的细节
n 不执行重命名 ,但会模拟执行重命名 ,并显示会出现的情况 ,例如是否会有同名文件冲突等 。在重命名前测试很有用 。
f 强制覆盖同名文件常用通配符说明
? 表示一个任意字符
* 表示一个或一串任意字符常用正则表达式符号说明
^ 匹配输入的开始位置
$ 匹配输入的结尾
. 匹配除换行符外的任意字符
+ 匹配前一个字符一次或多次 例如 ,"zo+"可以匹配"zoo",但不匹配"z"
[a-z] 表示某个范围内的字符 ,例如 ,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z] 否定的字符区间 。与不在指定区间内的字符匹配 。例子1:显示重命名细节
使用touch命令创建3个txt文件 ,使用rename命令批量将所有后缀为txt重命名为logtouch a.txt
touch b.txt
touch c.txt
rename -v s/.txt/.log/ *.txtv 参数作用 ,显示文件重命名细节
fdipzone@ubuntu:~$ rename -v s/.txt/.log/ *.txt
a.txt renamed as a.log
b.txt renamed as b.log
c.txt renamed as c.log例子2:测试重命名是否遇到同名
touch a.txt
touch b.txt
touch c.txt
touch a.log
touch b.log
rename -n s/.txt/.log/ *.txtn 参数作用 ,不执行重命名,但会显示如果执行重命名会出现的同名情况
fdipzone@ubuntu:~$ rename -n s/.txt/.log/ *.txt
a.txt not renamed: a.log already exists
b.txt not renamed: b.log already exists
c.txt renamed as c.log例子3:强制覆盖同名文件
touch a.txt
touch b.txt
touch a.log
touch b.log
rename -f s/.txt/.log/ *.txt如果使用 v 参数 ,会因为同名文件存在而重命名失败
fdipzone@ubuntu:~$ rename -v s/.txt/.log/ *.txt
a.txt not renamed: a.log already exists
b.txt not renamed: b.log already existsf 参数作用 ,强制覆盖同名文件
fdipzone@ubuntu:~$ rename -fv s/.txt/.log/ *.txt
a.txt renamed as a.log
b.txt renamed as b.log执行后,a.txt与b.txt重命名为a.log与b.log ,覆盖原来的a.log与b.log
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!