Cómo acceder a los datos desde una copia de seguridad de contactos de Mac: un archivo .abbu

Después de hacer una copia de seguridad de los contactos de Mac en un archivo .abbu, ¿hay algún programa que me permita acceder a los datos subyacentes en lugar de simplemente importarlos? Es decir, ¿puedo abrirlos como un archivo de texto o .CSV? ¡Gracias!

Maravillosa pregunta! Tengo el mismo problema y las capacidades de exportación de la libreta de direcciones son... lamentables...

Respuestas (6)

Hice una copia de seguridad de mis contactos en un abbuarchivo exportado de Contactos de Yosemite. Cuando traté de importarlos a El Capitan Contacts, encontré el mismo problema que fish923.

Esto apestaba porque el abbuarchivo era mi única copia de seguridad.

Lo investigué y un abbuarchivo (en realidad una carpeta) parece ser básicamente una copia de los datos internos utilizados por Contactos. Sin forma de importarlo, no hay forma de exportarlo a un formato más sano, como un montón de vCards.

Trate de evitar meterse en esta situación. Si es demasiado tarde, esto es lo que puede hacer:

  1. Descargue un cliente SQLite como Base, MesaSQLite, SQLite Manager, etc. (Alternativamente, puede probar la línea de comando: https://stackoverflow.com/questions/5776660/export-from-sqlite-to-csv-using-shell-script )
  2. Haga clic derecho en su abbuarchivo y Mostrar contenido del paquete. Navegue a la carpeta Fuentes. Una de estas subcarpetas UUID corresponde a una de sus cuentas CardDAV. Elegir uno.
  3. Abra el AddressBook-v22.abcddbarchivo en su cliente SQLite.
  4. Ingrese la siguiente consulta SQL. Tenga en cuenta que esto es solo algo rápido y sucio que se me ocurrió en un estado exasperado, y no conserva todo, así que siéntase libre de modificarlo examinando las tablas individuales para ver si hay algún dato que desee que omita:

SELECT ZABCDRECORD.Z_PK, ZABCDRECORD.ZBIRTHDAYYEAR, ZABCDRECORD.ZFIRSTNAME, ZABCDRECORD.ZMIDDLENAME, ZABCDRECORD.ZLASTNAME, ZABCDRECORD.ZORGANIZATION, ZABCDRECORD.ZJOBTITLE, ZABCDPHONENUMBER.ZFULLNUMBER, ZABCDPHONENUMBER.ZLABEL, ZABCDPOSTALADDRESS.ZCITY, ZABCDPOSTALADDRESS.ZCOUNTRYNAME, ZABCDPOSTALADDRESS.ZLABEL, ZABCDPOSTALADDRESS.ZSTATE, ZABCDPOSTALADDRESS.ZSTATE, ZABCDPOSTALADDRESS.ZZIPCODE, ZABCDEMAILADDRESS.ZADDRESS FROM ZABCDRECORD LEFT JOIN ZABCDPOSTALADDRESS ON ZABCDPOSTALADDRESS.ZOWNER = ZABCDRECORD.Z_PK LEFT JOIN ZABCDEMAILADDRESS ON ZABCDEMAILADDRESS.ZOWNER = ZABCDRECORD.Z_PK LEFT JOIN ZABCDPHONENUMBER ON ZABCDPHONENUMBER.ZOWNER = ZABCDRECORD.Z_PK;

He aquí, la mayoría de los datos de tus contactos. Exporte esto a CSV o lo que sea, y diviértase volviendo a ingresarlo manualmente en Contactos. O supongo que podrías escribir un script para procesar el CSV en vCards, si Contacts no se atraganta con eso también.

Esta no es una respuesta a la pregunta original. Por favor, haz una pregunta clara de lo que quieres hacer o qué problema tienes.
Respetuosamente no estoy de acuerdo con @dan; esto le dice cómo acceder a los datos de un archivo .abbu, y me permitió hacer precisamente eso. El método de pegar en Números seguía bloqueando Números con más de 3000 contactos. Mi comentario principal sobre la consulta SQL es que ZABCDPOSTALADDRESS.ZSTATEse repite dos veces. El primero debe terminar en .ZSTREET. Supongo que sería útil incluir ZABCDEMAILADDRESS.ZLABELbefore ZABCDEMAILADDRESS.ZADDRESS, pero no lo he probado. Usé "DB Browser for SQLite", una utilidad gratuita, para acceder a los datos. Esto fue un salvavidas para mí.

En Contactos versión 8.0 (1371) que se ejecuta en OS X 10.9.4, puede exportar un archivo de varias tarjetas en formato .vcf de la siguiente manera:

  1. Inicie la aplicación Contactos.
  2. Asegúrese de que se muestren todos sus contactos haciendo clic en "Todos los contactos" en el panel Grupos. (Si no ve el panel Grupos, que comienza con "Todos los contactos", en el lado izquierdo de la ventana, elija Ver > Mostrar grupos en el menú).
  3. Haga clic en el primer contacto de la lista de contactos.
  4. Elija Editar > Seleccionar todo en el menú. Asegúrese de que el área de detalles de la tarjeta a la derecha muestre cuántas tarjetas se han seleccionado (p. ej., "612 tarjetas seleccionadas").
  5. Elija Archivo > Exportar > Exportar vCard...
  6. Introduzca el nombre y la ubicación del archivo de exportación que desee y haga clic en Guardar.

Ahora tendrá un solo archivo .vcf con todos sus contactos. Este es un archivo de texto que puede abrir con TextEdit. También puede encontrar herramientas que conviertan .vcf a otros formatos, como .csv, si lo necesita.

Este archivo .vcf se puede usar para restaurar sus contactos o migrarlos a otros dispositivos.

Si tiene instalado iWorks/Numbers, consulte el tutorial:

Cómo convertir un archivo ABBU de la libreta de direcciones a CSV

ABBU es el tipo de archivo nativo para la libreta de direcciones de Mac OS X, lo que significa que solo puede abrir archivos ABBU utilizando la aplicación de libreta de direcciones de Mac. Sin embargo, puede usar la aplicación Números de iWork para importar el archivo ABBU y luego exportar el archivo de datos a un formato de archivo de valores separados por comas o CSV, que es un formato de archivo de texto genérico que puede importar a cualquier libreta de direcciones o base de datos. aplicación, independientemente del sistema operativo.

También puedes probar la herramienta:

AB2CSV

También conocida como Exportador de libreta de direcciones a CSV, esta utilidad de Mac OS X permite al usuario exportar su propia libreta de direcciones en un archivo CSV o VCF.

Mencionó "vs solo importarlos" , pero si puede usar el primer método para exportarlos a Numbers, puede guardarlos como .CSV.

Las respuestas en Ask Different deben ser algo más que un enlace. Está bien incluir un enlace, pero resúmalo o extráigalo en la respuesta. La idea es hacer que la respuesta sea independiente.
@patrix, creo que el lema de la red es We collect solutions, not links;) . . . . . . . . BsdHelper, consulte la guía Cómo responder ; cuando comencé con Stack, aprendí mucho leyendo (y revisando el descuento) de las principales preguntas y respuestas de mi sitio preferido (WPSE).
@patrix & brasofilo Lo harán chicos. Disculpas por mi pereza.
Con Mavericks, esta solución solo funciona si está dispuesto a eliminar a todas las personas existentes en Contactos (es decir, la importación reemplaza la libreta de direcciones existente; no hay opción de fusionar o agregar). Me encantaría tener una forma de ingresar a un archivo abbu sin eliminar todos mis contactos existentes.
en los números 3.5.3 (yosemite), no puedo encontrar una opción de importación capaz de manejar archivos .abbu ...

Finalmente encontré una manera bastante fácil de leer mi .abbudirectorio sin importarlo a mi libreta de direcciones existente: crear un nuevo usuario, abrir su libreta de direcciones e importar el archivo .abbu.

De esta forma pude seleccionar un par de contactos extrañamente perdidos, exportar esta selección e importarla a mis contactos existentes.

ENCONTRÉ UNA SOLUCIÓN a algunos de los problemas expuestos aquí.

Tuve exactamente el mismo problema que fish923, tenía un archivo .abbu y cada vez que intentaba importar mis contactos, la aplicación Contactos se sincronizaba con iCloud y borraba todos los contactos.

Para restaurar su copia de seguridad con éxito, debe hacer esto:

1.- Desconéctate de internet.
2.- Vaya a la carpeta Agenda de su usuario dentro de su carpeta Biblioteca: Usuarios/(su usuario)/Biblioteca/Soporte de aplicaciones/Agenda de direcciones/…
3.- Elimine contenidos dentro de la carpeta Agenda (o muévalos al Escritorio por si acaso)
4. - Haga clic derecho en su archivo .abbu y seleccione "Mostrar contenido del paquete".
5.- Copie el contenido de su archivo .abbu a la carpeta AddressBook.
6.- Abra la aplicación Contactos y exporte todos los contactos como vCard (asegúrese de seleccionar todos los contactos para exportar).
7.- Ahora puede conectarse a Internet, la aplicación Contactos se sincronizará con iCloud y nuevamente eliminará todos sus contactos, pero no se preocupe, ahora puede importar el archivo form de vCard.

Esto funcionó para mí. Espero que ayude a alguien.

Existe una forma de acceder directamente a los datos guardados en un .abbudirectorio (Copia de seguridad de la libreta de direcciones).

Supongamos que guardó su libreta de direcciones como se propone por defecto con el nombre Contacts - DD-MM-YYYY.abbu. Tendrá que usar la línea de comando para esto con:

cd 'Contacts - DD-MM-YYYY.abbu/Metadata'
plutil -convert xml1 *

Si desea trabajar directamente en estos archivos plist y luego usarlos dentro de su libreta de direcciones, le aconsejo que primero pruebe esto en una cuenta de prueba, digamos Bob.

Dentro Bobde la cuenta de prueba, deberá traer el .abbuen lugar de Library/Application Support/AddressBook:

/usr/bin/sudo cp -r 'Contacts - DD-MM-YYYY.abbu/' '/Users/bob/Library/Application Support/AddressBook'

# the / after .abbu directory name is mandatory to copy the contents
# in the destination directory, this will overwrite the address book
# of Bob

/usr/bin/sudo rm '/Users/Bob/Library/Application Support/AdressBook/AddressBook-v22.abcddb'

# the removal of this `.db` will force `Contacts` to rebuild it from
# the contents of the `Metadata` directory.

/usr/bin/sudo chown -R bob '/Users/bob/Library/Application Support/AddressBook'

Advertencia: no copie y pegue los comandos anteriores si no comprende completamente lo que hacen. Un espacio o una estrella en cualquier lugar podría dañar su cuenta de trabajo, su MacOS X en funcionamiento.

Inicie sesión como Bobpara comprobar esta nueva libreta de direcciones.