Tengo un MacBook Pro 15 (octubre de 2009) y estoy ejecutando 10.8 (Mountain Lion).
¿Hay una manera fácil de buscar y reemplazar caracteres en los nombres de archivos JPG en una lista de archivos de carpeta?
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 de nombre de cada uno de 642 a 699. Ninguno de mis 3 navegadores de imágenes / programas de edición puede hacer esto. Ya he pasado más tiempo buscando una solución de automatización, que cambiarla de una en una habría llevado, pero preferiría un enfoque de automatización si la hubiera. La función de búsqueda del buscador funciona muy bien, lamentablemente no parece haber una función de reemplazo para acompañarla. No soy un programador, así que espero que haya algo construido que pueda hacer el trabajo.
Respuestas:
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 más archivos coinciden 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 automatizada. (Obviamente cambiando la ruta a la ubicación real de sus imágenes) :
Esto moverá todas las imágenes que coinciden con el comodín
642*
(lo que significa que comienza con 642 y el resto del nombre puede ser cualquier cosa), y los mueve con el fin de cambiar el nombre del 642 al 699. Se va a sobrescribir los archivos que ya tienen el nombre de archivo de destino, así que asegúrese de que sean archivos que no desea.Esto supone que tampoco organiza sus imágenes en subcarpetas; cambiar
642*
a*/642*
si este no es el caso.fuente
for f in 642*; do echo mv $f 699${f#642}; done
tenga en cuenta que también utilicé una forma diferente de modificación de variables. Esta es una forma específica de ksh / bash, por lo que si usa un tipo diferente de shell, esto puede no funcionar.for f in 642*; do [ ! -f 699${f#642} ] && mv $f 699${f#642}; done
Si no desea utilizar el Terminal o el 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 sus nombres son de menos de 10 archivos).
También puede buscar en el App Store el término "cambio de nombre de lote" 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 positivas de estrellas parecen unirse a las aplicaciones líderes favoritas desde hace mucho tiempo 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.
fuente