
Tengo muchos archivos en diferentes subdirectorios. Me gustaría cambiar el nombre de todos los archivos nombrados
*-ABC-DE(7 numbers).ext
para
*-DE(7 numbers)-ABC.ext
¿Es posible?
Respuesta1
Dado
$ ls *.ext
bar-ABC-DE7654321.ext foo-ABC-DE1234567.ext
entonces
$ rename -v 's/(ABC)-(DE\d{7})/$2-$1/' *.ext
rename(bar-ABC-DE7654321.ext, bar-DE7654321-ABC.ext)
rename(foo-ABC-DE1234567.ext, foo-DE1234567-ABC.ext)
Resultando en
$ ls *.ext
bar-DE7654321-ABC.ext foo-DE1234567-ABC.ext
Prueba NB con -n
primera