Linux
從多個文件名中刪除和替換不同字元的最佳方法?
我有幾個文件夾,其中包含以下格式的文件:
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)