J'ai un serveur multimédia avec un dossier appelé Series
. ( /media/Expansion2/Series/
)
J'y ai (surprise!) Des séries télévisées. Ce ne sont que les noms des émissions, par exemple,/media/Expansion2/Series/The Big Bang Theory/
Dans le dossier de chaque émission (et c'est là que réside le problème), j'ai des dossiers de saison. J'ai actuellement un mélange des 2 conventions suivantes (avec quelques autres, probablement):
/media/Expansion2/Series/The Big Bang Theory/The Big Bang Theory Season 1
/media/Expansion2/Series/The Big Bang Theory/Season 2
En fin de compte, je veux renommer tous les dossiers en juste Season #
.
En tant que regex, je dirais probablement quelque chose comme s/.*(Season \d)/$1
Uniquement applicable aux dossiers, pas aux fichiers. Je devrais probablement également mentionner que cela concerne environ 50+ sous-dossiers, il faut donc commencer au /media/Expansion2/Series/
niveau et examiner chaque série :)
la source
rename
sur Debian . Sur Ubuntu (et certaines versions), afin d'éviter les conflits de noms avec la commande standard mentionnée précédemment , elle se trouve parfois (mais pas toujours) sous . Ici sur Lubuntu, l'outil lui-même est appelé mais il peut être appelé en raison de la chaîne symlink , où est une version légèrement modifiée de .rename
prename
prename
rename
/usr/bin/rename -> /etc/alternatives/rename -> /usr/bin/file-rename
file-rename
prename
L'extrait suivant supprime tout ce qui se produit avant la dernière occurrence de
Season [0-9]
dans chaque répertoire show sous/media/Expansion2/Series
. Aucune expression régulière nécessaire, juste des globes.la source
Si vous préférez jouer en toute sécurité et seulement renommer
some show/some show stuff
àsome show/stuff
:Si vous souhaitez tout retirer avant
Season
:${var#PATTERN}
supprime le MOTIF au début de$var
et renvoie le résultat.${var%PATTERN}
fait de même à la fin.${var#PATTERN}
et${var%PATTERN}
supprimer respectivement le préfixe et le suffixe correspondants les plus courts;${var##PATTERN}
et${var%%PATTERN}
supprimez la correspondance la plus longue.la source
Je vais publier deux autres solutions dans l'espoir qu'elles pourraient être utiles à l'avenir. Ceux-ci provenaient des administrateurs Linux au travail. Va juste pour montrer combien de marteaux fonctionneront sur ce clou!
Solution 1:
Solution 2:
la source