我正在寻找可以与 Kubuntu 终端(Konsole)一起使用的命令。
(编辑)我知道如何删除文件名中最后 13 个无用的字符,那么如果我想用文件名中的艺术家姓名替换“卡拉 OK”,脚本会是什么?“卡拉 OK”+ 空格 + “歌曲标题”+“ - ”+“艺术家姓名”+ .mp4?
有没有办法将目录中所有文件的“卡拉 OK”一词替换为“艺术家姓名”?提前致谢。
以下是 Oli 请求的示例文件名:
Karaoke A Spoonful Of Sugar - Mary Poppins
Karaoke Ain't No Stoppin' Us Now - McFadden & Whitehead
Karaoke Ain't Nobody - Chaka Khan
Karaoke A Tisket, A Tasket - Ella Fitzgerald
答案1
虽然有点夸张,但在这里还是有效的:
$ rename 's/^Karaoke (.+) - (.+) - \w{11}\.mp4$/$2 - $1.mp4/' * -vn
Karaoke banana - cher - 12345678901.mp4 renamed as cher - banana.mp4
您需要敲掉末端-n
才能真正重命名文件。我保留了安全功能。
我们正在做这里是找到任何符合这个模式的文件,从该模式中捕获艺术家和曲目,然后用这两个组(以及一些格式和扩展名)替换整个内容。
我无法预测如果艺术家的-
名字中包含 会发生什么。可能没有什么好处,但单个破折号(没有空格)应该没问题。
答案2
如果都是mp4
扩展则使用这个
重命名“s/^Karaoke (.+)-(.+)-\w{11}.mp4$/\$2-\$1.mp4/”*.mp4 -n
如果符号前后没有空格-
,则使用@oli 示例
@terdon 我的错误...