Tenho uma série que não é numerada por temporada, mas por ordem absoluta, indo de 0 a 150 ou mais. Quero renumerar esses arquivos por temporada para que sejam coletados corretamente no Plex. Aqui está um exemplo (primeiros 5 arquivos) da aparência atual da pasta "Temporada 2":
'Show Name - 014 Episode Title 1 [480p] [x265].mkv'
'Show Name - 015 Episode Title 2 [480p] [x265].mkv'
'Show Name - 016 Episode Title 3 [480p] [x265].mkv'
'Show Name - 017 Episode Title 4 [480p] [x265].mkv'
'Show Name - 018 Episode Title 5 [480p] [x265].mkv'
e assim por diante.
Como você pode ver, a temporada começa numerada em 14 em vez de 1. Primeiro eu uso a ferramenta de renomeação do Nautilus para substituir - 0
por S02E
. Aqui está o que parece agora:
anon@anonpc:~/Downloads/sandbox$ ls
'Show Name S02E14 Episode Title 1 [480p] [x265].mkv'
'Show Name S02E15 Episode Title 2 [480p] [x265].mkv'
'Show Name S02E16 Episode Title 3 [480p] [x265].mkv'
'Show Name S02E17 Episode Title 4 [480p] [x265].mkv'
'Show Name S02E18 Episode Title 5 [480p] [x265].mkv'
Mas preciso que os números dos episódios comecem com 01. Este é o mais próximo que cheguei:
for i in {14..18}; do mv Show\ Name\ S02E$i*.mkv Show\ Name\ S02E$((i-13))*; done
Mas isso não funciona corretamente:
mv: target 'Show Name S02E18 Episode Title 5 [480p] [x265].mkv' is not a directory
Agora fica assim:
anon@anonpc:~/Downloads/sandbox$ ls
'Show Name S02E14 Episode Title 1 [480p] [x265].mkv'
'Show Name S02E2*'
'Show Name S02E3*'
'Show Name S02E4*'
'Show Name S02E5*'
Você pode ver que o primeiro curinga *
funcionou para pegar os nomes completos dos arquivos, mas o restante não foi respeitado ao mv
renumerar os arquivos. Além disso, não tenho ideia de por que o primeiro item da lista não foi renomeado.
Gostaria de saber como poderia renumerar os arquivos da maneira descrita acima, mantendo o nome do arquivo original em ambos os lados do número inteiro. Estou usando o Ubuntu 22.04 com o shell bash padrão. Obrigado