Renomeie o arquivo e encapsule o último X número de caracteres, antes da extensão, entre colchetes

Renomeie o arquivo e encapsule o último X número de caracteres, antes da extensão, entre colchetes

Tenho usado o youtube-dl para baixar um canal inteiro do youtuber para fins de arquivamento. Eu estava usando o padrão de nomenclatura padrão para nomear os vídeos que usa o título do vídeo, depois um hífen, o ID do vídeo de 11 caracteres e, por fim, a extensão do arquivo.

por exemplo

title of the video - (an example)-oHg5SJYRHA0.mp4

Para downloads futuros, removi o hífen e coloquei o ID do vídeo entre colchetes. O problema é que já tenho centenas de vídeos seguindo o antigo esquema de nomenclatura e não quero desperdiçar largura de banda baixando novamente apenas para obter o novo esquema de nomenclatura.

Como posso renomear arquivos de comprimentos variados para que um "]" seja colocado antes de ".mp4" e eles hifenizem, 11 espaços/caracteres antes de "].mp4" ser substituído por "["?

por exemplo

title of the video - (an example)[oHg5SJYRHA0].mp4

[EDITAR] Esqueci de especificar que prefiro uma solução que funcione em Linux e/ou FreeNAS/BSD.

Responder1

No Linux, você pode usarrenomearcomando assim:

rename 's/-\w{11}(?=\.mp4$)/[$&]/' *.mp4

Explicação Regex:

-           # a hyphen
\w{11}      # 11 word characters
(?=         # positive lookahead, make sure we have after:
  \.mp4     # a dot followed by mp4
  $         # end of string
)           # end lookahead

Substituição:

[           # opening square bracket
$&          # the whole match (i.e. 11 characters)
]           # closing squarre bracket

Se os 11 caracteres puderem ser diferentes de caracteres de palavra, use o seguinte:

rename 's/-\K.{11}(?=\.mp4$)/[$&]/' *.mp4

Onde .corresponde a qualquer caractere, exceto nova linha.

Responder2

Se você não se importa em usar uma ferramenta de terceiros, que eu recomendaria para uso único, eu recomendariarenomeador avançado, é portátil e gratuito.

Caso contrário, você pode usar o PowerShell,esta descriçãodiz tudo o que você precisa saber. Deixe-nos saber se você ficar preso.

informação relacionada