Eliminar texto específico de múltiples descripciones

1

Recientemente me actualicé a iPhoto '11 (no pude resistir los precios en la nueva tienda de aplicaciones) y a medida que agrego más metadatos a mi biblioteca y organizo cosas en general (lugares, caras, etc.) . No había actualizado desde '08) He notado algo extraño en mis fotos. Cada foto en mi biblioteca tiene una descripción (aunque muchas son cortas), pero parece que de alguna manera la descripción de una de las fotos se ha agregado a muchas.

No sé si tal vez haya arruinado accidentalmente un cambio de lote en algún momento en el pasado, o si la actualización de la biblioteca de alguna manera ha fallado, o qué otra cosa pudo haber ocurrido. Pero lo que necesito hacer es solucionarlos de alguna manera.

Ahora, la edición manual es una tarea desalentadora. Dentro de una biblioteca de 21,248 fotos, 18,858 de ellas tienen este texto adicional. Lo único que tengo a mi favor es que es una cadena específica. Si hay una manera de "eliminar esta cadena de cualquier parte de la biblioteca sin eliminar el resto de cualquier descripción dada", entonces eso sería perfecto.

¿Hay algo que pueda hacer así? ¿Tal vez incluso editar manualmente un archivo de biblioteca en un editor de texto? (¿Eso rompería algo más en iPhoto si su biblioteca fuera editada fuera de la aplicación, incluso cuando no se está ejecutando?) ¿Alguien tiene alguna idea?

    
pregunta David 16.01.2011 - 04:40

1 respuesta

1

Considere usar un AppleScript para realizar esta tarea. El siguiente AppleScript te ayudará a comenzar:

tell application "iPhoto"

    repeat with i from 1 to number of items in photos

        set myPhoto to item i of photos

        set comment of myPhoto to replaceText("find this", "replace with this", comment of myPhoto)

    end repeat

end tell

-- replaceText from Bruce Phillips (http://brucep.net/2007/replace-text/)
on replaceText(find, replace, subject)
    set prevTIDs to text item delimiters of AppleScript
    set text item delimiters of AppleScript to find
    set subject to text items of subject

    set text item delimiters of AppleScript to replace
    set subject to "" & subject
    set text item delimiters of AppleScript to prevTIDs

    return subject
end replaceText

Para usar este AppleScript, cópielo y péguelo en un nuevo documento AppleScript Editor .

En esta situación, desea buscar y eliminar un fragmento de texto específico. Modifique el AppleScript anterior de la siguiente manera:

  1. Cambie el segmento " encuentre este " e ingrese el texto para buscar.
  2. Cambie el segmento " reemplazar por este " para que esté en blanco, "".

Con estos cambios implementados, guarde el documento y haga clic en Ejecutar en la barra de herramientas. Dependiendo de la cantidad de fotos, este AppleScript llevará mucho tiempo; potencialmente horas.

    
respondido por el Graham Miln 02.02.2011 - 22:24

Lea otras preguntas en las etiquetas