Los grupos de captura se ignoran al cambiar el nombre de los archivos


10

Tengo varios archivos en este formato:

##. ## - Nombre de archivo.mp4

Quiero cambiarles el nombre a:

s ## e ##. mp4

Esto es lo que se me ocurrió:

renombrar -n "s / ^ (\ d {2}) \. (\ d {2}). * / s $ 1e $ 2.mp4 /"

Funciona cuando lo probé en http://regexr.com/ pero cuando ejecuto el comando en mi instalación de Ubuntu 12.04, todos mis archivos cambian de nombre ase.mp4

Por lo tanto, parece que los grupos se ignoran o no se insertan o algo así. ¿Me estoy perdiendo algo cegadoramente obvio o está sucediendo algo más?

Terminé usando pyRenamer y funcionó maravillosamente, pero todavía me gustaría saber por qué renameno funciona correctamente.

Saludos y gracias por cualquier ayuda que me puedan dar.

Respuestas:


14

Creo que quizás su uso de comillas dobles está permitiendo que el shell se expanda $1y$2

$ rename -nv "s/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/" *.mp4
12.34 File name.mp4 renamed as se.mp4

mientras que con comillas simples alrededor de la expresión de cambio de nombre

$ rename -nv 's/^(\d{2})\.(\d{2}).*/s$1e$2.mp4/' *.mp4
12.34 File name.mp4 renamed as s12e34.mp4
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.