Linux 如何使用终端重命名文件

Linux 如何使用终端重命名文件,linux,ubuntu,filenames,file-rename,Linux,Ubuntu,Filenames,File Rename,有谁能推荐一个递归删除文件名中不需要的字母的好方法吗 除去 例如: 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

有谁能推荐一个递归删除文件名中不需要的字母的好方法吗 除去

例如:

 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
标志),它将执行什么操作:


你的逻辑是什么。什么是“不需要的字母”。请解释您作为一个人,决定删除/更改每个文件名的逻辑。您是否有任何代码正在使用或正在寻找开发人员?我想从“”Yellow.subside.1968.720p.BluRay.x264-[YTS.AM]''中删除“”720p.BluRay.x264-[YTS.AM]'''',mp4“”变为Yellow.subside.1968.mp4“”
find . -type f -exec rename 's/\.720p\.BluRay\.x264\-\[YTS\.AM\]//' '{}' \;
find . -type f -exec rename -n 's/\.720p\.BluRay\.x264\-\[YTS\.AM\]//' '{}' \;