Suite au téléchargement d'une série TV je me suis retrouvé avec une centaine de fichiers qui, par chance, venaient d'une même source et dont le nom suivait un format spécifique. Pour le rapprocher du mien[1] j'ai utilisé la commande rename
, équivalent de sed[2] mais exclusivement pour des noms de fichiers.
J'utilise la commande rename
par soucis de simplicité (une seule ligne de commande), mais il est tout à fait imaginable de créer une boucle utilisant la commande mv
commune. Par ailleurs, attention de vérifier que c'est bien le rename
Perl qui est utilisé et non un autre comme celui d'Util-Linux fournit de base sur certains systèmes comme Debian 11.
Le nom de tous les fichiers suivent un même format :
.S E . . . -
Après l'opération, une partie des informations sera éliminée du nom des fichiers. Perte à mon sens négligeable puisque relevant de détails techniques qui ne me serviraient pas sauf cas spécifique, et probablement présents dans les métadonnées des fichiers.
_s e .mp4
À noter que le format diffère de celui que j'utilise habituellement pour mes fichiers : la date et la source m'intéressent ici peu, et cela se rapproche des formats utilisés par Kodi[3] et Plex[4]. J'ai choisi de ne pas inclure la date dans le nom de fichier, les deux spécifications étant assez floues sur l'idée d'une série qui soit à cheval sur plusieurs années.
Une substitution simple permet de transformer les noms de fichiers en réutilisant certaines informations y étant déjà présentes.
La commande aura une syntaxe similaire à sed :
rename -n -v 's/(.*)\.S(\d*)E(\d*).*/\L$1_s$2e$3/' ./*.mp4
L'argument -n
permet de tester la commande sans qu'il n'y ait de modification irréversible.
text/gemini;
This content has been proxied by September (3851b).