问一个关于rename命令的问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
ilsoviet1917
帖子: 270
注册时间: 2009-11-11 23:13

问一个关于rename命令的问题

#1

帖子 ilsoviet1917 » 2010-04-29 23:42

我有prog1.exe~prog9.exe九个文件,想重命名为prog01.exe~prog09.exe使用命令:

rename prog prog0 prog?

但是系统提示

Bareword "prog" not allowed while "strict subs" in use at (eval 1) line 1.

为啥不会成功?是因为后缀的问题么?
同志们,多年的战争使你们踏遍整个欧洲,前方就是华盛顿白宫,到那里去洗刷你们战争的躯体吧!
ilsoviet1917
帖子: 270
注册时间: 2009-11-11 23:13

Re: 问一个关于rename命令的问题

#2

帖子 ilsoviet1917 » 2010-05-03 22:04

没人搭理…… :em19
同志们,多年的战争使你们踏遍整个欧洲,前方就是华盛顿白宫,到那里去洗刷你们战争的躯体吧!
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 问一个关于rename命令的问题

#3

帖子 cnkilior » 2010-05-04 9:43

rename 是一个perl脚本,重命名的方法要按照perl正则表达式来写。
kamui0523
帖子: 547
注册时间: 2008-05-14 18:53
来自: 上海

Re: 问一个关于rename命令的问题

#4

帖子 kamui0523 » 2010-05-04 14:43

使用mv来重命名
在命令行执行下列命令
for i in `seq 1 9`; do mv prog$i.exe prog0$i.exe; done
头像
yaoms
帖子: 4952
注册时间: 2007-10-19 14:51
来自: 深圳

Re: 问一个关于rename命令的问题

#5

帖子 yaoms » 2010-05-04 14:45

代码: 全选

rename 's/prog(?)/prog0$1' prog*.exe
Nothing 有事请发邮件到 yms541 AT gmail.com
alias 爱慕颇雷尔='mplayer'
abbott
帖子: 435
注册时间: 2007-07-11 22:45

Re: 问一个关于rename命令的问题

#6

帖子 abbott » 2010-05-04 17:51

我使用发现 rename 指令在CentOS/RHEL 与Ubuntu上不同.

比如 当前目录下的, 所有文件名中, 但凡是有 'file'的都修改为 'file-old',
centOS实现方式:
rename file file-old *
OR
rename 'file' 'file-old' *

但是这个指令, 在ubuntu上不行,
需要修改为
rename 's/file/file-old/' *
和sed 的某些用法规则比较一致了>....
ilsoviet1917
帖子: 270
注册时间: 2009-11-11 23:13

Re: 问一个关于rename命令的问题

#7

帖子 ilsoviet1917 » 2010-05-04 21:28

yaoms 写了:

代码: 全选

rename 's/prog(?)/prog0$1' prog*.exe
提示
Substitution replacement not terminated at (eval 1) line 1.
:em18
同志们,多年的战争使你们踏遍整个欧洲,前方就是华盛顿白宫,到那里去洗刷你们战争的躯体吧!
ilsoviet1917
帖子: 270
注册时间: 2009-11-11 23:13

Re: 问一个关于rename命令的问题

#8

帖子 ilsoviet1917 » 2010-05-04 21:34

kamui0523 写了:使用mv来重命名
在命令行执行下列命令
for i in `seq 1 9`; do mv prog$i.exe prog0$i.exe; done

user@user-desktop:~/exe$ for i in 'seq 1 9'; do mv prog$i.exe prog0$i.exe; done
mv: 目标"9.exe" 不是目录

………………
同志们,多年的战争使你们踏遍整个欧洲,前方就是华盛顿白宫,到那里去洗刷你们战争的躯体吧!
kamui0523
帖子: 547
注册时间: 2008-05-14 18:53
来自: 上海

Re: 问一个关于rename命令的问题

#9

帖子 kamui0523 » 2010-05-05 9:58

ilsoviet1917 写了:
kamui0523 写了:使用mv来重命名
在命令行执行下列命令
for i in `seq 1 9`; do mv prog$i.exe prog0$i.exe; done

user@user-desktop:~/exe$ for i in 'seq 1 9'; do mv prog$i.exe prog0$i.exe; done
mv: 目标"9.exe" 不是目录

………………

代码: 全选

kamui0523@RedHat:~/rename$ ls
prog1.exe  prog3.exe  prog5.exe  prog7.exe  prog9.exe
prog2.exe  prog4.exe  prog6.exe  prog8.exe

代码: 全选

kamui0523@RedHat:~/rename$ for i in `seq 1 9`
> do
> mv prog$i.exe prog0$i.exe
> done

代码: 全选

kamui0523@RedHat:~/rename$ ls
prog01.exe  prog03.exe  prog05.exe  prog07.exe  prog09.exe
prog02.exe  prog04.exe  prog06.exe  prog08.exe
user@user-desktop:~/exe$ for i in 'seq 1 9'; do mv prog$i.exe prog0$i.exe; done #这是错误的
user@user-desktop:~/exe$ for i in `seq 1 9`; do mv prog$i.exe prog0$i.exe; done #这才是对的
仔细看每个字符
seq这里是反引号,不是单引号!
是 ``
不是 ''
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 问一个关于rename命令的问题

#10

帖子 eexpress » 2010-05-05 10:22

你安装gprename算了。去gui吧。
● 鸣学
ilsoviet1917
帖子: 270
注册时间: 2009-11-11 23:13

Re: 问一个关于rename命令的问题

#11

帖子 ilsoviet1917 » 2010-05-08 14:51

kamui0523 写了:
ilsoviet1917 写了:
kamui0523 写了:使用mv来重命名
在命令行执行下列命令
for i in `seq 1 9`; do mv prog$i.exe prog0$i.exe; done

user@user-desktop:~/exe$ for i in 'seq 1 9'; do mv prog$i.exe prog0$i.exe; done
mv: 目标"9.exe" 不是目录

………………

代码: 全选

kamui0523@RedHat:~/rename$ ls
prog1.exe  prog3.exe  prog5.exe  prog7.exe  prog9.exe
prog2.exe  prog4.exe  prog6.exe  prog8.exe

代码: 全选

kamui0523@RedHat:~/rename$ for i in `seq 1 9`
> do
> mv prog$i.exe prog0$i.exe
> done

代码: 全选

kamui0523@RedHat:~/rename$ ls
prog01.exe  prog03.exe  prog05.exe  prog07.exe  prog09.exe
prog02.exe  prog04.exe  prog06.exe  prog08.exe
user@user-desktop:~/exe$ for i in 'seq 1 9'; do mv prog$i.exe prog0$i.exe; done #这是错误的
user@user-desktop:~/exe$ for i in `seq 1 9`; do mv prog$i.exe prog0$i.exe; done #这才是对的
仔细看每个字符
seq这里是反引号,不是单引号!
是 ``
不是 ''

看到错误了,谢谢!
同志们,多年的战争使你们踏遍整个欧洲,前方就是华盛顿白宫,到那里去洗刷你们战争的躯体吧!
xiaoyangdxy
帖子: 1
注册时间: 2012-08-21 16:33

Re: 问一个关于rename命令的问题

#12

帖子 xiaoyangdxy » 2012-08-21 16:35

应该是rename "s/prog(?)/prog0$1/" prog*.exe
头像
linuxer1024
帖子: 650
注册时间: 2012-06-05 12:12
来自: 湖南长沙
联系:

Re: 问一个关于rename命令的问题

#13

帖子 linuxer1024 » 2012-08-26 20:06

批量更名,我用purrr,gui的,非常简洁
薄荷开源网 | 专注Linux桌面
http://www.mintos.org/
回复