Linux环境下的批量文件重命名 2023-11-06

前缀、文档修改记录

2023-11-06 创建文章

章节1、需求描述

在前期的视频里,给大家介绍过部署Jellyfin媒体服务器,其中有一点问题,是后来发现的,就是视频文件的文件名,过于长,导致Jellyfin媒体服务器,识别的集数排序错乱,那么正确、简短、有效的视频文件命名就非常重要了,本篇文章给大家介绍一下,在Linux系统下,如何批量重命名视频文件。

章节2、情况描述

样例的源文件是,国产漫画,一念永恒,第二季,集数是54。

[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][01][AVC][GB][1080P].mp4
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][02][AVC][GB][1080P].mp4
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][03][AVC][GB][1080P].mp4
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][04][AVC][GB][1080P].mp4
...
...
...
[GM-Team][国漫][一念永恒 第2季][Yi Nian Yong Heng 2nd Season][2022][54][AVC][GB][1080P].mp4

需要将如上的文件,重命名到简短的格式样式

一念永恒.S02.E01.mp4
一念永恒.S02.E02.mp4
一念永恒.S02.E03.mp4
...

在Linux环境下,自然不会一个个重复的手工去重命名,Do it in a better way。

章节3、本期需使用到的Linux命令

ls
awk
cut
tr / sed

章节4、操作命令

#  切割的字节位置不固定,根据实际的来,还有,集数所在的位置也根据不同的电视剧,命名时候有区别,所在substr的位置,也是根据逐步试出来的。
ls -l *mp4 | cut -b 39- |  awk '{print "mv \""$0"\" \"一念永恒.S03.E"substr($0,77,2)".mp4\""}'

确认拼接好的命名,语法没有问题后,就可以衔接管道到bash执行即可,命令如下:

ls -l *mp4 | cut -b 39- |  awk '{print "mv \""$0"\" \"一念永恒.S03.E"substr($0,77,2)".mp4\""}'  | sh

章节5、操作演示视频@Youtube

附录1、

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注