您尚未登录。

#1 2023-04-23 22:27:31

弯弓射小白
会员
注册时间: 2022-10-04
帖子: 121

正则表达式请教

我想把目录里的歌名批量改名,想请教各位高手怎么做,原歌名是这样的:"数字.空格歌名空格...歌手.flac",我想改成"数字歌手-歌名.flac",请问要如何弄呢?


风吹又日晒,自由又自在

离线

#2 2023-04-24 00:08:17

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,934
个人网站

Re: 正则表达式请教

可以用 perl-rename 来改名。不过,你的歌名和歌手名里有空格吗?

离线

#3 2023-04-24 16:14:28

弯弓射小白
会员
注册时间: 2022-10-04
帖子: 121

Re: 正则表达式请教

依云 说:

可以用 perl-rename 来改名。不过,你的歌名和歌手名里有空格吗?

有的,是一个空格加三个点。


风吹又日晒,自由又自在

离线

#4 2023-04-24 17:51:38

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,934
个人网站

Re: 正则表达式请教

原来那是字面意义上的三个点啊。

perl-rename 's/^(\d+)\. ((?! \.\.\.).+) \.\.\.(.+)\.flac$/\1\3-\2.flac/' *.flac

离线

#5 2024-07-14 14:28:02

弯弓射小白
会员
注册时间: 2022-10-04
帖子: 121

Re: 正则表达式请教

正则表达式是命令自己提供的,还是shell提供的?


风吹又日晒,自由又自在

离线

#6 2024-07-14 16:16:35

BreadCat209
K.I.S.S.
注册时间: 2023-09-09
帖子: 203

Re: 正则表达式请教

弯弓射小白 说:

正则表达式是命令自己提供的,还是shell提供的?

是shell提供的


[mbm@ArchLinux:~]$ sudo rm -rf /*

离线

#7 2024-07-14 16:36:15

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,934
个人网站

Re: 正则表达式请教

弯弓射小白 说:

正则表达式是命令自己提供的,还是shell提供的?

谁执行、谁提供。

离线

#8 2024-07-14 23:31:38

弯弓射小白
会员
注册时间: 2022-10-04
帖子: 121

Re: 正则表达式请教

正则表达式有没有规范?要是每个命令都跟规范不一致,那不是搞死人了?


风吹又日晒,自由又自在

离线

#9 2024-07-14 23:37:37

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,934
个人网站

Re: 正则表达式请教

弯弓射小白 说:

正则表达式有没有规范?要是每个命令都跟规范不一致,那不是搞死人了?

是这样子的……语法上一般分两个阵营:POSIX 系和 PCRE 系。特性集上一般也分两个阵营:DFA 和 NFA。

离线

页脚