我需要帮助,我完全不知道该怎么做。我有一些较旧的电视剧,其中大部分电视剧集都有自己的文件夹,有些电视剧集有季节文件夹。我将在下面列出示例。原始文件夹和文件应保持其原始形式,但应将它们移动到系列名称文件夹和季节文件夹中。
/home/incoming/TV/Altered.Carbon.S01E05.The.Wrong.Man.1080p.DDP5.1.x264/
/home/incoming/TV/Altered.Carbon.S01E08.1080p.DD5.1.x264/
应根据名称中的 S01 创建系列主文件夹“Altered Carbon”和子文件夹第 01 季,并移动文件夹,因为它们处于相同状态
/home/incoming/TV/Altered Carbon/Season 01/Altered.Carbon.S01E05.The.Wrong.Man.1080p.DDP5.1.x264/
/home/incoming/TV/Altered Carbon/Season 01/Altered.Carbon.S01E08.1080p.DD5.1.x264/
对于第 02 季,我将所有剧集放在一起,它们应该被移动到带有季节子文件夹的系列名称文件夹中。
/home/incoming/TV/Altered.Carbon.S02.1080p.DDP5.1.x264/
应该创建系列主文件夹“Altered Carbon”,但由于是 S02,还应该添加“season 02”子文件夹
/home/incoming/TV/Altered Carbon/Season 02/Altered.Carbon.S02.1080p.DDP5.1.x264/
《黑镜》也一样,应该能做同样的事
/Black Mirror S01 1080p DD+ 2.0 x264/
应该创建系列主文件夹“黑镜”,但由于是 S02,还应该添加“第 01 季”子文件夹
/home/incoming/TV/Black Mirror/Season 01//Black Mirror S01 1080p DD+ 2.0 x264/
/Black.Mirror.S02E01.1080p.AMZ.AAC2.0.H.264/
应该创建系列主文件夹“黑镜”,但由于 S02,还应该添加“第 02 季”子文件夹
/home/incoming/TV/Black Mirror/Season 02/Black.Mirror.S02E01.1080p.AMZ.AAC2.0.H.264/
我记得在 askubuntu 上看到过脚本,但上周我尝试搜索它,唯一能找到的就是如果你有媒体文件并将它们移动到有季节的文件夹中的方法。
答案1
我不知道“emby”是什么,但是在 Bash 中......
像这样:
ubuntu@Lenovo:~/TV$ tree
.
├── Altered.Carbon.S01E05.The.Wrong.Man.1080p.DDP5.1.x264
│ ├── file.info
│ ├── file.mp4
│ └── file.srt
├── Altered.Carbon.S01E08.1080p.DD5.1.x264
│ ├── file.info
│ ├── file.mp4
│ └── file.srt
├── Altered.Carbon.S02.1080p.DDP5.1.x264
│ ├── E1
│ │ ├── file.info
│ │ ├── file.mp4
│ │ └── file.srt
│ └── E2
│ ├── file.info
│ ├── file.mp4
│ └── file.srt
├── Black Mirror S01 1080p DD+ 2.0 x264
│ ├── E1
│ │ ├── file.info
│ │ ├── file.mp4
│ │ └── file.srt
│ └── E2
│ ├── file.info
│ ├── file.mp4
│ └── file.srt
└── Black.Mirror.S02E01.1080p.AMZ.AAC2.0.H.264
├── file.info
├── file.mp4
└── file.srt
10 directories, 21 files
...可以进行如下转换:
ubuntu@Lenovo:~/TV$ for d in */
do
d2="${d//./ }"
t="${d2// S[0-9]*/}"
s="$(/bin/grep -Po '[ .]S\K[0-9][0-9]' <<<"$d")"
p="$t/Season $s/"
mkdir -pv -- "$p"
mv -nv -- "$d" "$p"
done
...输出如下内容:
mkdir: created directory 'Altered Carbon'
mkdir: created directory 'Altered Carbon/Season 01/'
renamed 'Altered.Carbon.S01E05.The.Wrong.Man.1080p.DDP5.1.x264/' -> 'Altered Carbon/Season 01/Altered.Carbon.S01E05.The.Wrong.Man.1080p.DDP5.1.x264'
renamed 'Altered.Carbon.S01E08.1080p.DD5.1.x264/' -> 'Altered Carbon/Season 01/Altered.Carbon.S01E08.1080p.DD5.1.x264'
mkdir: created directory 'Altered Carbon/Season 02/'
renamed 'Altered.Carbon.S02.1080p.DDP5.1.x264/' -> 'Altered Carbon/Season 02/Altered.Carbon.S02.1080p.DDP5.1.x264'
mkdir: created directory 'Black Mirror'
mkdir: created directory 'Black Mirror/Season 01/'
renamed 'Black Mirror S01 1080p DD+ 2.0 x264/' -> 'Black Mirror/Season 01/Black Mirror S01 1080p DD+ 2.0 x264'
mkdir: created directory 'Black Mirror/Season 02/'
renamed 'Black.Mirror.S02E01.1080p.AMZ.AAC2.0.H.264/' -> 'Black Mirror/Season 02/Black.Mirror.S02E01.1080p.AMZ.AAC2.0.H.264'
...变成这样:
ubuntu@Lenovo:~/TV$ tree
.
├── Altered Carbon
│ ├── Season 01
│ │ ├── Altered.Carbon.S01E05.The.Wrong.Man.1080p.DDP5.1.x264
│ │ │ ├── file.info
│ │ │ ├── file.mp4
│ │ │ └── file.srt
│ │ └── Altered.Carbon.S01E08.1080p.DD5.1.x264
│ │ ├── file.info
│ │ ├── file.mp4
│ │ └── file.srt
│ └── Season 02
│ └── Altered.Carbon.S02.1080p.DDP5.1.x264
│ ├── E1
│ │ ├── file.info
│ │ ├── file.mp4
│ │ └── file.srt
│ └── E2
│ ├── file.info
│ ├── file.mp4
│ └── file.srt
└── Black Mirror
├── Season 01
│ └── Black Mirror S01 1080p DD+ 2.0 x264
│ ├── E1
│ │ ├── file.info
│ │ ├── file.mp4
│ │ └── file.srt
│ └── E2
│ ├── file.info
│ ├── file.mp4
│ └── file.srt
└── Season 02
└── Black.Mirror.S02E01.1080p.AMZ.AAC2.0.H.264
├── file.info
├── file.mp4
└── file.srt
16 directories, 21 files