Ho creato un flusso di lavoro di Automator per trovare tutti i documenti iWork che non sono ancora stati convertiti. Il flusso di lavoro utilizza questo script di 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
Tecnicamente questo script trova qualsiasi cosa con l'estensione "chiave", "pagine" o "numeri" che non assomiglia a un documento iWork'13: i documenti creati con iWork'13 sono archiviati come archivi ZIP e contengono un "DocumentIdentifier" ", Mentre i documenti creati con iWork'09 sono archivi ZIP senza questo" DocumentIdentifier ". Lo script corrisponde anche alle directory, poiché le prime versioni di iWork memorizzavano i documenti come directory dei pacchetti.
L'ultima azione nel flusso di lavoro crea un alias nei documenti trovati dallo script, semplificando la ricerca dei risultati nel Finder. Ti consiglio di cambiare l'azione per utilizzare un'altra cartella rispetto al desktop, poiché potrebbero esserci molti risultati.
Modifica: ho appreso che il formato del documento iWork come archivio ZIP con "DocumentIdentifier" sembra essere stato introdotto in iWork'14 anziché in iWork'13 e viene utilizzato solo quando si salva su un Mac localmente, non durante il salvataggio su iCloud (come menzionato nel recensione di Ars Technica su iWork'14 ). Quindi lo script sopra trova qualcosa con una delle estensioni iWork che non sembra un documento iWork'14 salvato localmente. Al momento non sento la necessità di perfezionare la sceneggiatura per trovare solo documenti pre-iWork'13, quindi la lascerò così com'è.