开源是一种精神,分享是一种美德!

rename

相关命令:mv
rename 用于 对文件进行命名管理,可进行批量命名并支持正则表达式, rename命令存在两个版本用法上有所区别 一个是 C语言版本支持通配符,另一个是 Perl版本.支持正则表达式

参数

-n    操作预览,在不更改文件名称情况下,显示执行后的结果
-f    强制执行
 
【常用通配符说明】
 ?    表示一个任意字符
 *    表示一个或一串任意字符
-------------------------------------------------
【常用正则表达式符号说明】
^    匹配输入的开始位置
$    匹配输入的结尾
.    匹配除换行符外的任意字符
+    匹配前一个字符一次或多次 例如,"zo+"可以匹配"zoo",但不匹配"z"
[a-z]    表示某个范围内的字符,例如,"[a-z]"匹配"a"与"z"之间的任何一个小写字母字符。
[^m-z]    否定的字符区间。与不在指定区间内的字符匹配。

[root@localhost www]# rename 's/\.sh/\.php/' *        #将当前目录下.sh后缀的文件,变成.php

[root@localhost www]# rename 's/$/\.bak/' /home/www/*.php     #给www目录下的.php加上bak后缀

[root@localhost www]# rename 's/^/bak_/' *.bin     #给当前目录下的.bin后缀文件加上bak_前缀

[root@localhost www]# rename 's/\.bin$//' *       #批量删除当前目录下所有文件的.bin 后缀

[root@localhost www]# rename 's/A-Z/a-z/' *       #修改当前目录所有文件名为小写

 

rename 【要被替换的字符】 【用作替换的字符】 【替换哪些文件】

[root@bigserver1 test]# touch aabb

[root@bigserver1 test]# ll
总用量 0
-rw-r--r-- 1 root root 0 12月 10 20:03 bbbb

[root@bigserver1 test]# rename aa bb aabb

[root@bigserver1 test]# ll
总用量 0
-rw-r--r-- 1 root root 0 12月 10 20:04 bbbb

评论(2)

    • 这个命令
      这个命令在centos7里有Bug
      [回复]
    • https://github.com/l
      centos7里的rename是c语言版本的 用法和perl不一样
      [回复]

评论

名字:
验证码:
获取验证码
内容: