分页: 1 / 1

批量替换文件名中的一部分。

发表于 : 2009-11-12 13:43
maniux
论坛里有个帖子没看懂,也没学过正则……麻烦大家了。

有很多NCE1(1985 British accent)_01.mp3这样的文件,其中01这种数字不一样。想把所有文件名中的括号及里面内容去掉,怎么搞呢?模仿坛子里的帖子,写了这个,不行……

find -type f -exec sed -i 's/NCE1(1985 British accent)/NCE1/' {} \;

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-12 15:07
Stupid kid
楼主试试rename吧,支持perlreg的,也许可行!

代码: 全选

$ rename 's/\(.*\)//' *.mp3

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-12 15:39
eexpress
gprename是gui的。可预演正则的结果。

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-13 12:16
maniux
那个程序没有……额,我不是ubuntu的。
2楼的命令貌似不行,我不会改正则
抱歉,还行不行啊。

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-13 12:18
jiening1017
学习中…… :em03

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-13 12:41
Stupid kid
maniux 写了:那个程序没有……额,我不是ubuntu的。
2楼的命令貌似不行,我不会改正则
抱歉,还行不行啊。
:em04 我没测试过,呵呵,只是给你举个例子,让你知道rename可以改名的:-)

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-13 13:02
maniux
Stupid kid 写了:
maniux 写了:那个程序没有……额,我不是ubuntu的。
2楼的命令貌似不行,我不会改正则
抱歉,还行不行啊。
:em04 我没测试过,呵呵,只是给你举个例子,让你知道rename可以改名的:-)
我目前没学过正则,看不懂啊~~~

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-13 13:20
onelynx
好像有些发行版的rename 是不接受 perl的正则表达式

至少 fedora 是这样的

Re: 批量替换文件名中的一部分。

发表于 : 2009-11-13 13:21
Stupid kid