linux下批量重命名命令rename的用法_VMware, Unix及操作系统讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  VMware, Unix及操作系统讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2300 | 回复: 0   主题: linux下批量重命名命令rename的用法        下一篇 
Irvinna
注册用户
等级:新兵
经验:51
发帖:46
精华:0
注册:2011-8-19
状态:离线
发送短消息息给Irvinna 加好友    发送短消息息给Irvinna 发消息
发表于: IP:您无权察看 2015-5-7 10:11:48 | [全部帖] [楼主帖] 楼主

rename命令是Linux下功能非常强的的重命名工具,利用正则表达式使得其使用地非常灵活。
rename命令的格式:

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]
-v, --verboseVerbose: print names of files successfully
renamed.
-n, --no-actNo Action: show what files would have been renamed.
-f, --forceForce: overwrite existing files.


简单的rename使用命令:
字母的替换

rename "s/AA/aa/" *             //把文件名中的AA替换成aa


修改文件的后缀

rename "s/.html/.php/" *     //把.html 后缀的改成 .php后缀


批量添加文件后缀

rename "s/$/.txt/" *             //把所有的文件名都以txt结尾


批量删除文件名

rename "s/.txt//" *               //把所有以.txt结尾的文件名的.txt删掉


一条命令:

 rename "s/.JPG/.jpg/" *


就完成了全部工作,哈哈。

比如在windows 7下复制整个文件夹下的文件再拷入同一文件夹,会产生很多文件名后加上“ - 副本”的文件,拷入linux下之后,感觉中文文件名操作不便,就可以用:

rename "s/ - 副本/_bak/" *

来一次性把所有文件改为后面加_bak的形式。

其实能看出perl的正则替换表达式与vi的替换表达式还是很象的。

--转自 北京联动北方科技有限公司




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论