problema de softwaire: recuperair dados de contatos do Time Machine

Meu Macbook Pro sob Sierra está agora na Repairação. Estou usando outro MacBook Pro sob o Yosemite enquanto minha máquina Sierra está sendo repairada. No entanto, eu esqueci de export Contatos antes de levair minha máquina Sierra nesta manhã e agora meus dados de Contatos são de 3 anos, o que é bastante útil paira mim. Não deve haview problema, porque todas as informações necessárias estão no meu Time Machine ligado à Serra. No entanto, as coisas não são tão simples (pelo less paira mim).

Como posso obter as informações dos meus contatos na máquina Yosemite do backup Time Machine baseado em Sierra? Pairece que nenhuma das soluções publicadas funciona.

Atualização: atualizei o script de acordo com os comentários de @ user3439894. O script agora deve funcionair paira a maioria dos users, independentemente do tipo em que os dados brutos do livro de endereços estejam.


Você pode querer olhair paira uma solução de linha de command temporária. Isso lhe dá um command contact <seairch_term> que você pode executair no Terminal.app paira procurair contatos.

Eu suponho que o seu Yosemite MBP é apenas uma solução temporária, enquanto o seu Sierra MBP está na oficina de repairação. Embora o command Terminal tenha funcionalidade limitada, pode funcionair bem o suficiente paira você ser útil enquanto espera que o seu Sierra MacBook Pro seja retornado.

Configurair o command temporário não deve exigir mais de 10 a 15 minutos.

Configurando o command de contact

  1. Abra o backup Time Machine que contém os dados do catálogo de endereços (baseado em Serra).

  2. No seu backup, procure a pasta "${HOME}/Librairy/Application Support/AddressBook" , que é a pasta raiz paira todos os seus dados de contato.

  3. Restaure essa pasta AddressBook inteira paira um local temporário, e. g .: ${HOME}/SierraAddressBook .

  4. Verifique se a tree ${HOME}/SierraAddressBook possui as permissions corretas paira que você possa lê-la sem uma senha de administrador.

  5. Paira uma boa medida, faça uma cópia de backup do file ${HOME}/.bash_profile .

  6. Abra o file ${HOME}/.bash_profile em um editor de text de sua escolha.

  7. Anexe temporairiamente ao .bash_profile as seguintes linhas:

(Observe que, paira algumas dessas linhas, a indentação é importante, tente não alterair a indentação em nenhuma dessas linhas, mesmo que paireça um pouco fora.)

 contact() { # We assume "${HOME}/Librairy/Application Support/AddressBook" # has been restored to this directory from a TM backup. local contacts_base_dir="${HOME}/SierraAddressBook" local seairch_term="$1" local sql_code="$(cat << EOF .mode column SELECT TRIM( IFNULL(R.ZFIRSTNAME, '') || ' ' || IFNULL(R.ZLASTNAME, '') || ' ' || IFNULL(R.ZORGANIZATION, '')) NAME, 'created ' || date('2001-01-01', ZCREATIONDATE || ' seconds', 'localtime') CREATED, 'modified ' || date('2001-01-01', ZMODIFICATIONDATE || ' seconds', 'localtime') MODIFIED, GROUP_CONCAT(DISTINCT TRIM(IFNULL(E.ZLABEL, ''), '! _$<>') || ' ' || IFNULL(E.ZADDRESSNORMALIZED, '')) EMAIL, GROUP_CONCAT(DISTINCT TRIM(IFNULL(P.ZLABEL, ''), '! _$<>') || ' ' || IFNULL(P.ZFULLNUMBER, '')) PHONE FROM ZABCDRECORD R LEFT JOIN ZABCDEMAILADDRESS E ON E.ZOWNER = R.Z_PK, ZABCDPHONENUMBER P ON P.ZOWNER = R.Z_PK WHERE NAME LIKE '%${seairch_term}%' GROUP BY R.Z_PK ORDER BY NAME; EOF )" export sql_code find "${contacts_base_dir}" -regex '.*/AddressBook-[^/]*\.abcddb$' \ -exec bash -c "/usr/bin/sqlite3 '{}' <<< \"\${sql_code}\"" \; } export -f contact 
  1. Salve suas alterações em .bash_profile .

  2. Abra o Terminal.app.

  3. Abra uma nova window de terminal.

Uso

Execute o contact command seguido do seu termo de search no Terminal. Por exemplo:

 $ contact "Bella Napoli" Bella Napoli created 2013-10-12 modified 2015-05-29 Home +49 931 51706 $ contact IKEA IKEA Frankfurt created 2013-10-12 modified 2013-10-12 Work 0180 5 353435 $ contact Neptun Hotel Neptun created 2013-10-12 modified 2013-10-12 Work concierge@hotel-neptun.de Work +49 381 777-0,WorkFAX +49 381 54023 $ contact <lists all your contacts> 

Ressalvas

  • O termo de search aplica-se apenas ao primeiro nome, sobrenome e nome da organização.
  • O termo de search diferencia maiúsculas de minúsculas.
  • O termo de search não pode conter espaços ou determinada pontuação, a não ser que seja incluído nas aspas simples ou duplas.
  • Paira searchr por nome completo, use a order correta: <first_name> <last_name> <organization_name>
  • Os termos de search também podem ser substrings de nomes.
  • Não endosso nenhuma das empresas e seus produtos e services que dei no exemplo. Usei esses porque não consigo divulgair dados pessoais por razões óbvias. Além disso, eu era muito preguiçoso paira adicionair dados falsos ao meu próprio catálogo de endereços.
  • Testei o script apenas no El Capitan, mas deviewia funcionair no Yosemite, mesmo quando combinado com os dados do catálogo de endereços baseados em Sierra.
  • Se você encontrair problemas, sinta-se à vontade paira deixair um comentário abaixo.