求rename使用方法
- xyf
- 帖子: 2032
- 注册时间: 2007-05-05 23:59
- 来自: 嘉兴
Re: 求rename使用方法
看鸟哥
ufraw中文(raw图像处理) http://sites.google.com/site/ufrawzh/
Gimp影像处理 http://sites.google.com/site/gimpcn/
Gimp影像处理 http://sites.google.com/site/gimpcn/
-
- 帖子: 6548
- 注册时间: 2008-10-31 22:12
- 系统: 践兔
- 联系:
- lululau
- 帖子: 105
- 注册时间: 2007-05-28 11:17
Re: 求rename使用方法
网上找到的rename的资料中所说的那个rename和ubuntu中的rename不一样
-
- 帖子: 74
- 注册时间: 2007-09-09 14:34
Re: 求rename使用方法

-
- 帖子: 8
- 注册时间: 2013-03-14 18:56
- 系统: ubuntu
Re: 求rename使用方法
我来抛砖做个不全面的解释:
如下实例,将当前文件夹中的goagent文件名词修改成带扩展名.sh的文件名:
sudo rename s/goagent/goagent.sh/ goagent
sudo:执行权限
rename:命令名
s:固定参数
goagent:要替换的内容,支持带正则表达式的写法
goagent.sh:替换成的内容
goagent:替换范围的描述,写成具体的文件,就只针对这个文件修改,如果带通配符,范围就是多个文件辣
man rename里有个例子:
For example, to rename all files matching "*.bak" to strip the extension, you might say
例如:把所有扩展名为.bak的文件的扩展名脱掉:
rename 's/\.bak$//' *.bak
解析:
1.引号,s为格式
2.\.是正则表达式的语法,表示扩展名的那个点,只不过点符号在正则表达式里有另外的意义,带个斜杠\表示转意,转成原本的点符号的意义。
3.$是正则表达式里的符号,表示“结尾”
4.//之间是空的,表示把之前的‘.bak’替换成空,也就促成了删除扩展名的效果
5. *.bak是要替换的范围,*在window里叫通配符,正则里表示任意字符,这里表示文件名称任意,扩展名固定为bak的所有文件
如下实例,将当前文件夹中的goagent文件名词修改成带扩展名.sh的文件名:
sudo rename s/goagent/goagent.sh/ goagent
sudo:执行权限
rename:命令名
s:固定参数
goagent:要替换的内容,支持带正则表达式的写法
goagent.sh:替换成的内容
goagent:替换范围的描述,写成具体的文件,就只针对这个文件修改,如果带通配符,范围就是多个文件辣
man rename里有个例子:
For example, to rename all files matching "*.bak" to strip the extension, you might say
例如:把所有扩展名为.bak的文件的扩展名脱掉:
rename 's/\.bak$//' *.bak
解析:
1.引号,s为格式
2.\.是正则表达式的语法,表示扩展名的那个点,只不过点符号在正则表达式里有另外的意义,带个斜杠\表示转意,转成原本的点符号的意义。
3.$是正则表达式里的符号,表示“结尾”
4.//之间是空的,表示把之前的‘.bak’替换成空,也就促成了删除扩展名的效果
5. *.bak是要替换的范围,*在window里叫通配符,正则里表示任意字符,这里表示文件名称任意,扩展名固定为bak的所有文件