想改名,有关正则表达式的一些用法请教

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
opp
帖子: 622
注册时间: 2008-03-30 11:42
联系:

想改名,有关正则表达式的一些用法请教

#1

帖子 opp » 2009-09-20 14:25

是这样的,我有好多个电影文件,大家是知道的,许多电视剧之类的会在文件名里面多出一些东西,例如:“极限特工[www.xxxx.com].rmvb”会出现方括号里面是它做的广告,现在有一批这样的文件,我想指改名,去掉名称中所有方括号里面的内容包括方括号本身。如果在不知道或者方括号内的内容并不一致时,用表达式怎么匹配方括号和方括号里面的全部内容。
我用的命令搞不定:
rename s/\[.*\]/g *.rmvb
还请各位朋友不吝赐教,非常感谢!
头像
O_O_BOT
帖子: 2461
注册时间: 2009-05-20 19:32

Re: 想改名,有关正则表达式的一些用法请教

#2

帖子 O_O_BOT » 2009-09-20 16:34

rename 's/\[.*\]//g' *.rmvb
irc 聊天室
ubuntu-cn 的irc 频道为
irc.ubuntu.com 8001 #ubuntu-cn
UTF8编码 可用 irssi xchat pidgin weechat 登录

http://webchat.freenode.net/?channels=ubuntu-cn
[url]irc://irc.freenode.net/ubuntu-cn[/url]
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 想改名,有关正则表达式的一些用法请教

#3

帖子 eexpress » 2009-09-20 22:44

s/.*(member|girl|gallery|regular|uniform|special).*//gi;
● 鸣学
knowfarway
帖子: 877
注册时间: 2007-08-25 10:37

Re: 想改名,有关正则表达式的一些用法请教

#4

帖子 knowfarway » 2009-09-20 23:17

我也曾碰到过这样的问题,同问一下。
3楼这个是什么意思 ?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 想改名,有关正则表达式的一些用法请教

#5

帖子 eexpress » 2009-09-20 23:18

笨哦。下电影标准的一些改名规则啊。一堆呢。
:em04
● 鸣学
头像
darkfish
帖子: 90
注册时间: 2009-09-18 10:03
来自: 北京
联系:

Re: 想改名,有关正则表达式的一些用法请教

#6

帖子 darkfish » 2009-09-21 10:38

opp 写了: 我用的命令搞不定:
rename s/\[.*\]/g *.rmvb
还请各位朋友不吝赐教,非常感谢!
其实这个命令是可以的,可能那个[]是中文的括号,所以没有去掉,我在我电脑上试验后是成功的啊…… :em11
头像
opp
帖子: 622
注册时间: 2008-03-30 11:42
联系:

Re: 想改名,有关正则表达式的一些用法请教

#7

帖子 opp » 2009-09-22 17:21

谢谢2楼,3楼的朋友,也谢谢其它的热心朋友,加了对单绰号把正则表达式括起来就正常了。没括的话,只会去掉文件名中所有的“.”,知道单引号的意思,但不知道这里为什么一定要用单绰号。
6楼的朋友可以执行成功吗?不太可能吧。我怎么执行不成功。
头像
cnkilior
论坛版主
帖子: 4984
注册时间: 2007-08-05 17:40

Re: 想改名,有关正则表达式的一些用法请教

#8

帖子 cnkilior » 2009-09-22 17:59

rename超难用!
头像
darkfish
帖子: 90
注册时间: 2009-09-18 10:03
来自: 北京
联系:

Re: 想改名,有关正则表达式的一些用法请教

#9

帖子 darkfish » 2009-09-22 20:20

opp 写了:谢谢2楼,3楼的朋友,也谢谢其它的热心朋友,加了对单绰号把正则表达式括起来就正常了。没括的话,只会去掉文件名中所有的“.”,知道单引号的意思,但不知道这里为什么一定要用单绰号。
6楼的朋友可以执行成功吗?不太可能吧。我怎么执行不成功。
是了,我上次是在又看过man之后输的命令,估计那时候没有注意到''
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

Re: 想改名,有关正则表达式的一些用法请教

#10

帖子 tusooa » 2009-11-08 21:35

代码: 全选

for i in *.rmvb ; do
mv -v "$i" "$(sed -e 's [*]  g' <<< "$i")"
done

代码: 全选

] ls -ld //
回复