Aggiornamento: ho aggiornato lo script in base al feedback di @ user3439894. Lo script dovrebbe ora funzionare per la maggior parte degli utenti, a prescindere dal loro sapore.
Potresti voler esaminare una soluzione temporanea della riga di comando. Ti fornisce un comando contact <search_term>
che puoi eseguire in Terminal.app per cercare i contatti.
Presumo che il tuo MBP Yosemite sia solo una soluzione temporanea mentre il tuo Sierra MBP è presso l'officina. Anche se il comando Terminale ha funzionalità limitate, potrebbe funzionare abbastanza bene affinché tu possa essere utile mentre aspetti che Sierra MacBook Pro ritorni.
L'impostazione del comando temporaneo dovrebbe richiedere non più di 10-15 minuti.
Impostazione del comando contact
-
Apri il backup di Time Machine che contiene i dati della tua rubrica (Sierra).
-
Nel tuo backup, cerca la cartella "${HOME}/Library/Application Support/AddressBook"
, che è la cartella principale per tutti i tuoi dati di contatto.
-
Ripristina tutta la cartella AddressBook
in una posizione temporanea, ad es. g .: ${HOME}/SierraAddressBook
.
-
Verifica che l'albero ${HOME}/SierraAddressBook
abbia le autorizzazioni corrette in modo da poterlo leggere senza una password di amministratore.
-
Per maggiore sicurezza, crea una copia di backup del tuo file ${HOME}/.bash_profile
.
-
Apri il file ${HOME}/.bash_profile
in un editor di testo a tua scelta.
-
aggiungi temporaneamente a .bash_profile
le seguenti righe:
(Nota che per alcune di queste righe, l'indentazione è importante, prova a non modificare il rientro in nessuna di quelle linee, anche se sembra un po 'fuori posto.)
contact() {
# We assume "${HOME}/Library/Application Support/AddressBook"
# has been restored to this directory from a TM backup.
local contacts_base_dir="${HOME}/SierraAddressBook"
local search_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 '%${search_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
-
Salva le tue modifiche in .bash_profile
.
-
Apri Terminal.app.
-
Apri una nuova finestra di terminale.
Uso
Esegui il comando contact
seguito dal termine di ricerca nel Terminale. Ad esempio:
$ 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 [email protected]
Work +49 381 777-0,WorkFAX +49 381 54023
$ contact
<lists all your contacts>
Avvertimenti
- Il termine di ricerca si applica solo al nome, al cognome e al nome dell'organizzazione.
- Il termine di ricerca è case sensitive.
- Il termine di ricerca non può contenere spazi o determinati segni di punteggiatura, a meno che non sia racchiuso tra virgolette singole o doppie appropriate.
- Per cercare per nome completo, utilizza l'ordine corretto:
<first_name> <last_name> <organization_name>
- I termini di ricerca possono anche essere sottostringhe di nomi.
- Non sostengo nessuna delle società e dei loro prodotti e servizi che ho dato nell'esempio. Li ho usati perché non posso rivelare dati personali per ovvi motivi. Inoltre, ero troppo pigro per aggiungere dati fasulli alla mia rubrica personale.
- Ho testato lo script solo su El Capitan ma dovrebbe funzionare su Yosemite, anche se combinato con i dati della rubrica di Sierra.
- Se riscontri problemi, ti invitiamo a lasciare un commento qui sotto.