CHENERBOX 发表于 2003-5-7 19:34:20

如何批量改名(包含子目录中的)

我需要把当前目录和子目录中的image*.gif 改为Image*.gif
用rename i I image*.gif只能该当前目录下的,有没有什么好办法把他们一次搞定呀?

CHENERBOX 发表于 2003-5-9 22:58:52

是不是必须用shell或perl等了???

cnhnln 发表于 2003-5-9 23:27:20

mv -r(递归)

CHENERBOX 发表于 2003-5-10 00:36:29

不明白?
让我好好想一想.

wsm 发表于 2003-5-10 13:31:04

这才发现linux下居然有rename这个命令 果然比solaris强那么一些

iven@linux 发表于 2003-5-10 19:51:46

i与I有什么不同吗?
linux 认大小写吗?

要不用find 试一下。 如find -nameimage*.gif-exec rename {}....
后边我也不太清楚了。
试试吧

CHENERBOX 发表于 2003-5-10 20:55:53

用find -name 'image*.gif' 可以找到所有的需要修改的文件,但是 -exec 提示find: missing argument to `-exec'
我以前是连这个搜索命令也用不大好,这次可以全部找出来了

btw 我有一些网页中的贴图文件名是大写的i,可是目录中是小写的i,造成无法显示图片,在ie下没有问题,可能是linux对大小写敏感造成的.

iven@linux 发表于 2003-5-10 21:14:33

请问一下,为什么用-exec后会有missing argument to 'exec'的提示?

albtross 发表于 2003-5-11 22:32:23

看一下这个吧
http://www.linuxsir.com/bbs/showthread.php?s=&threadid=34906&highlight=%B8%C4%C3%FB

举例说明,不知道是不是这个意思?
javalee//home/javalee/a>ls
a.abc b.abc c.abc d e f
javalee//home/javalee/a>for i in *.* //把所有扩展的文件放如列表
> do
> mv $i ${i%abc}mp3 //注意abc是如何环城mp3的
> done
javalee//home/javalee/a>ls //结果
a.mp3 b.mp3 c.mp3 d e f
页: [1]
查看完整版本: 如何批量改名(包含子目录中的)