LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1341|回复: 2

请教 “rename .jpeg.0 .jpg *.0” 是什么意思?

[复制链接]
发表于 2007-12-5 22:01:19 | 显示全部楼层 |阅读模式
这是一个 perl 脚本里的两个语句

`rename .jpeg.0 .jpg *.0`;
`rename .jpeg .jpg *.jpeg`;

但是运行时,第一句出错:
syntax error at (eval 1) line 1, near "."
第二句出错:
sh: /usr/bin/rename: Argument list too long -- 这可能是因为 jpeg 文件太多了。

请问这两个语句是什么意思?错在哪里?

谢谢!
发表于 2007-12-7 14:37:16 | 显示全部楼层
如果这是shell脚本, 可以如下理解:
rename .jpeg.0 .jpg *.0 -- 处理当前目录下所有后缀名为.0的文件,如果文件名中含有.jpeg的地方换成.jpg
rename .jpeg.0 .jpg *.0 -- 同理, 意思是更改后缀名 jpeg -> jpg

另外``是shell下面的命令替换, 在perl下面应该不管用,可能上面的代码是这样的:
os.system(`rename .jpeg.0 .jpg *.0`;) -- 这样在perl 下面跑就没问题了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-12-9 12:46:41 | 显示全部楼层
谢谢!

后来发现是因为 debian 下的 rename 与其它发行版不同,是一个 perl 脚本。
相应的 rename 命令是 util-linux 包中的 rename.ul 命令。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表