我觉得标题不太清楚,英语不是我的母语,抱歉。但我希望你能通过一个例子明白我的意思。我有很多这样的文件:
(作曲家姓名) 歌曲名称 - 艺术家姓名.ext
常量是括号和连字符。
我想重命名为艺术家姓名 - 歌曲名称 (作曲家姓名).ext
我查看了重命名手册和此处以及网络上其他地方的示例,但无济于事。这可能吗?有哪位 bash 大师能帮助我吗?
提前致谢。
答案1
我建议mmv
(从同名包中)使用任何命令来完成rename
这类事情:
$ mmv -n '(*) * - *.*' '#3 - #2 (#1).#4'
(Name of Composer) Title of song - Name of artist.ext -> Name of artist - Title of song (Name of Composer).ext
rename
如果你只能使用基于 Perl 的
$ rename -n 's/^\((.*?)\) (.*?) - (.*?)\.(.*)$/$3 - $2 ($1).$4/' *.*
rename((Name of Composer) Title of song - Name of artist.ext, Name of artist - Title of song (Name of Composer).ext)
无论哪种情况,-n
一旦您对建议的转换感到满意,就将其删除。