J'ai un certain nombre de fichiers dans ce format:
##. ## - Nom du fichier.mp4
Je veux les renommer en:
s ## e ##. mp4
Voici ce que je suis venu avec:
renommer -n "s/^ (\ d {2}) \. (\ d {2}). */s $ 1e $ 2.mp4 /"
Cela fonctionne quand je l'ai testé sur http://regexr.com/ mais quand je lance la commande sur mon installation Ubuntu 12.04, tous mes fichiers sont renommés en se.mp4
Il semble donc que les groupes sont ignorés ou ne sont pas insérés ou quelque chose du genre. Est-ce que je manque quelque chose d'évident aveuglant ou est-ce qu'il se passe autre chose?
J'ai fini par utiliser pyRenamer et cela a fonctionné à merveille, mais j'aimerais quand même savoir pourquoi rename
ne fonctionne pas correctement.
Vive et merci pour toute aide que vous pouvez me donner.
Je pense que votre utilisation des guillemets doubles permet peut-être au shell de développer $1
et $2
$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4
alors qu'avec des guillemets simples autour de l'expression renommée
$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4