Linux

從多個文件名中刪除和替換不同字元的最佳方法?

  • January 19, 2022

我有幾個文件夾,其中包含以下格式的文件:

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' *

但我知道必須有更好、更有效的方法。你會如何解決這個問題?

像這樣的東西應該​​工作:

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)

引用自:https://unix.stackexchange.com/questions/687035