Chinaunix首页 | 论坛 | 博客
  • 博客访问: 33210
  • 博文数量: 16
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-03 19:49
个人简介

为梦想一直战斗

文章分类

全部博文(16)

文章存档

2013年(16)

我的朋友

分类: LINUX

2013-11-16 10:45:31

字母的替换:rename “s/AA/aa/” * //把文件名中的AA替换成aa
rename 's/[ ]+/_/g' *
OK就这么简单。
方括号内的空格可以用[:space:]代替,
即可以写成's/[[:space:]]+/_/g'
这里注意,rename 采用的是标准perl正则语法,所以无须将加号转变为反斜杠加号
即+ 不能修改为\+,否则替换失败。
还有几个好玩的例子:
比如统一在文件头部添加上hello
rename 's/^/hello/' *
统一把.html扩展名修改为.htm
rename 's/.html$/.htm/' *
统一在尾部追加.zip后缀:
rename 's/$/.zip/' *
统一去掉.zip后缀:
rename 's/.zip$//' *
规则化数字编号名,比如1.jpg, 2.jpg ..... 100.jpg , 现在要使文件名全部三位即1.jpg .... 001.jpg
运行两次命令:
rename 's/^/00/' [0-9].jpg # 这一步把1.jpg ..... 9.jpg 变幻为001.jpg .... 009.jpg
rename 's/^/0/' [0-9][0-9].jpg # 这一步把10.jpg ..... 99.jpg 变幻为010.jpg ..... 090.jpg
Ok ,rename就研究了这么多,暂时不知道如何在rename中引入动态变量,比如$i++
我测试过i=0; rename -n "s/^.*$/$((++i))/" * 执行后i被自增了1,并非想我想像中那样,可以在每操作一个文件自增一,猜想可能是因为rename批量实现的,导致++i只计算一次!
-n 用来测试rename过程,并不直接运行,可以查看测试效果后,然后再运行。
好了,再次说明一下,你在使用的时候一定要
阅读(635) | 评论(0) | 转发(0) |
0

上一篇:vb 得到单元格的值

下一篇:没有了

给主人留下些什么吧!~~