He reunido un flujo de trabajo de Automator para encontrar todos los documentos de iWork que aún no se han convertido. El flujo de trabajo utiliza este script de shell:
find "${1}" \( -iname '*.key' -or -iname '*.pages' -or -iname '*.numbers' \) -and \( -type d -or \( -type f -and -not -exec bash -c 'unzip -qq -l "${0}" Metadata/DocumentIdentifier >/dev/null' '{}' \; \) \) -and -print
Técnicamente, este script encuentra cualquier cosa con la extensión "clave", "páginas" o "números" que no se parece a un documento iWork'13: los documentos creados con iWork'13 se almacenan como archivos ZIP y contienen un "DocumentIdentifier ”, Mientras que los documentos creados con iWork'09 son archivos ZIP sin este“ DocumentIdentifier ”. La secuencia de comandos también coincide en directorios, ya que las primeras versiones de iWork almacenaron documentos como directorios de paquetes.
La última acción en el flujo de trabajo crea un alias a los documentos encontrados por el script, lo que facilita la búsqueda de los resultados en el Finder. Sin embargo, te recomiendo que cambies la acción para usar otra carpeta que no sea el escritorio, ya que puede haber muchos resultados.
Editar: he aprendido que el formato de documento de iWork como un archivo ZIP con un "DocumentIdentifier" parece haber sido introducido en iWork'14 en lugar de iWork'13, y solo se utiliza al guardar a una Mac localmente, no al guardar en iCloud (como se menciona en revisión Ars Technica de iWork'14 ). Así que el script anterior encuentra algo con una de las extensiones de iWork que no se parece a un documento iWork’14 guardado localmente. No siento la necesidad en este momento de refinar el guión para encontrar solo documentos anteriores a iWork’13, por lo que lo dejaré tal como está.