Tengo un MacBook Pro 15 (antigüedad de octubre de 2009) y estoy ejecutando 10.8 (Mountain Lion).
¿Hay una manera fácil de buscar y reemplazar caracteres en nombres de archivos JPG en una lista de archivos de carpetas?
Estoy trabajando con más de 70.000 imágenes JPG y se deben corregir cerca de 1000 nombres duplicados. Mi solución preferida es simplemente cambiar el prefijo del nombre de cada uno de 642 a 699. Ninguno de mis 3 navegadores de imágenes/programas de edición puede hacer esto. Ya pasé más tiempo buscando una solución de automatización, de lo que hubiera tomado cambiarlos uno a la vez, pero preferiría un enfoque de automatización si hay uno. La función de búsqueda del buscador funciona muy bien, lamentablemente no parece haber una función de reemplazo que la acompañe. No soy programador, así que espero que haya algo construido que pueda hacer el trabajo.
Finder no es la herramienta para este trabajo, pero siempre he hecho este tipo de cosas a través de Terminal.
Para estar seguro, debe tener una copia de seguridad de su Mac, ya que el comando mv cambiará el nombre de todo lo que encuentre y, si hay más archivos que coincidan con el patrón "642*", también se cambiarán.
Aquí hay un fragmento de código para llegar a la carpeta, encontrar los archivos que comienzan con 642 y editarlos uno por uno de manera automática. (Obviamente cambiando la ruta a la ubicación real de sus imágenes) :
cd "/path/to/your/images"
for i in 642*; do
mv "$i" "${i/642/699}"
done
Esto moverá todas las imágenes que coincidan con el comodín 642*
(lo que significa que comienza con 642 y el resto del nombre puede ser cualquier cosa), y las moverá para cambiar el nombre de 642 a 699. Sobrescribirá cualquier archivo que ya tenga el nombre de archivo de destino, así que asegúrese de que sean archivos que no desea.
Esto supone que no organiza sus imágenes en subcarpetas también; cambiar 642*
a */642*
si este no es el caso.
for f in 642*; do echo mv $f 699${f#642}; done
Tenga en cuenta que también usé una forma diferente de modificación de variables. Este es un formulario específico de ksh/bash, por lo que si usa un tipo diferente de shell, es posible que no funcione.for f in 642*; do [ ! -f 699${f#642} ] && mv $f 699${f#642}; done
Si no desea utilizar Terminal o Automator, existen aplicaciones comerciales con una GUI para hacerlo. Uno es A Better Finder Rename , que tiene una versión de prueba gratuita (no es necesario pagar si cambia el nombre de menos de 10 archivos).
También puede buscar en la App Store el término "cambio de nombre por lotes" y ver que más de 9 aplicaciones parecen diseñadas para resolver ese problema. Las tres que tienen 10 reseñas cada una y calificaciones de estrellas positivas parecen unirse a las principales aplicaciones favoritas en este momento:
Diría que estas tres alternativas cuestan menos, pero no han existido tanto tiempo como A Better Finder Rename, que me ha funcionado bien.
Pfitz
Lrí
jason