¿Cómo puedo quitar algo de texto de los nombres de archivo en una carpeta?
Actualmente estoy intentando:
rename s/"NEWER_(.*?)"//g *
Pero nada se renombra
Tengo una carpeta principal, con un montón de subcarpetas, dentro de los archivos, que OneDrive pensó que sería una gran idea agregar "(NEWER_timestamp)", y me gustaría eliminar eso.
Nombres de archivo de ejemplo:
getyou.ico (NEWER_1417529079.87)
o7pm.ico (NEWER_1417529184.89)
o7th.ico (NEWER_1417529135.81)
rename
batch-rename
Kevin
fuente
fuente
Respuestas:
Intenta lo siguiente:
[^/]*(.*) .*$
coinciden solo con la última parte de la ruta que no contiene a/
. Y(.*)
hay un grupo que combina todo después del último/
y antes de un espacio. Su referencia será
$1
..*$
coincide con todo al final$
del nombre de los archivos después del espacio.s/.../REPLACEMENT/
, simplemente conservamos el grupo coincidente que está entre el último\
y un espacio(.*)
que se conoce como grupo de coincidencias.fuente
Debería considerar usar las comillas fuera de la expresión regular (dentro, se toman literalmente como comillas) y escapar
(
. Tratar;La precisión de la expresión puede no ser necesaria, pero no puede ser demasiado cauteloso al modificar archivos.
fuente
reading filenames from STDIN
Ya estoy dentro de la carpeta principal donde están todos estos archivos*NEWER*
como está si no se encuentran expansiones, debe haber cometido un error o está utilizando un caparazón que reemplazó un comodín sin igual por nada.