任何人都可以推荐一个好的解决方案来递归地删除文件名中不需要的字母 删除
.720p.BluRay.x264-[YTS.AM]
例如:
Yellow Submarine (1968) [BluRay] [720p] [YTS.AM]
│ ├── www.YTS.AM.jpg
│ └── Yellow.Submarine.1968.720p.BluRay.x264-[YTS.AM].mp4
├── You Might Be The Killer (2018) [BluRay] [720p] [YTS.AM]
│ ├── www.YTS.AM.jpg
│ └── You.Might.Be.The.Killer.2018.720p.BluRay.x264-[YTS.AM].mp4
├── Your Name (2016) [BluRay] [720p] [YTS.AM]
│ ├── www.YTS.AM.jpg
│ └── Your.Name.2016.720p.BluRay.x264-[YTS.AM].mp4
变成:
Yellow Submarine (1968) [BluRay] [720p] [YTS.AM]
│ ├── www.YTS.AM.jpg
│ └── Yellow.Submarine.1968.mp4
├── You Might Be The Killer (2018) [BluRay] [720p] [YTS.AM]
│ ├── www.YTS.AM.jpg
│ └── You.Might.Be.The.Killer.2018.mp4
├── Your Name (2016) [BluRay] [720p] [YTS.AM]
│ ├── www.YTS.AM.jpg
│ └── Your.Name.2016.mp4
最佳答案
由于被删除的字符串对每个文件来说都是相同的,因此您可以使用find
和rename
来解决这个问题:
find . -type f -exec rename 's/\.720p\.BluRay\.x264\-\[YTS\.AM\]//' '{}' \;
在包含这些文件夹的任何基本目录中运行它,它应该会清理文件。
要先进行测试,您可以在该重命名命令上使用 -n
标志,看看如果您允许它执行(没有 -n
标志)它会做什么:
find . -type f -exec rename -n 's/\.720p\.BluRay\.x264\-\[YTS\.AM\]//' '{}' \;
关于linux - 如何使用终端重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56400749/