从多个文件名中删除和替换不同字符的最佳方法?

从多个文件名中删除和替换不同字符的最佳方法?

我有几个充满以下格式文件的文件夹:

Show Name - 07x09 - Episode Title.mp4

我想做的是将它们重命名为以下格式:

Show.Name.S07E09.Episode.Title.mp4

我已经使用一些重命名命令完成了此操作:

rename 's/ - /./g' *
rename 's/ /./g' *
rename 's/.([0-9]+)x([0-9])/.S$1E$2/g' *

但我知道一定有更好、更有效的方法。你会如何解决这个问题?

答案1

像这样的东西应该有效:

rename -n -v 's/[- ]+/./g; s/([0-9]+)x([0-9]+)/S$1E$2/' ./*.mp4

如果结果是您想要的,请删除-n重命名文件的选项。


演示:

rename(./Sh  ow Name -  07x09 - Episode Title.mp4, ./Sh.ow.Name.S07E09.Episode.Title.mp4)
rename(./Sh  ow Name - 07x09 - Episode Title.mp4, ./Sh.ow.Name.S07E09.Episode.Title.mp4)
rename(./Sh  ow Name-  07x09 - Episode Title.mp4, ./Sh.ow.Name.S07E09.Episode.Title.mp4)
rename(./Sh  ow Name- -  07x09 - Episode Title.mp4, ./Sh.ow.Name.S07E09.Episode.Title.mp4)
rename(./Sh  ow Name- \---  07x09 - Episode Title.mp4, ./Sh.ow.Name.\.S07E09.Episode.Title.mp4)
rename(./Sh  ow Name--  07x09 - Episode Title.mp4, ./Sh.ow.Name.S07E09.Episode.Title.mp4)
rename(./Show Name - 07x09 - Episode Title.mp4, ./Show.Name.S07E09.Episode.Title.mp4)

相关内容