Interface de ligne de commande Contacts.app

2

Existe-t-il une interface CLI dans la base de données Contacts.app (anciennement Address Book.app)?

Exemple:

mycontacts --email '*@google.com' # to get Googlers
Robottinosino
la source

Réponses:

2

Contacts prend toujours en charge AppleScript. Vous pouvez consulter la documentation sur les propriétés et les commandes prises en charge en ouvrant son dictionnaire dans l'éditeur AppleScript.

osascript -e 'tell app "Contacts" to properties of people where vcard contains "@gmail.com"'

Je n'ai pas trouvé le moyen de vérifier les champs d'e-mail réels à l'aide d'un seul spécificateur.

set l to {}
tell application "Contacts"
    repeat with p in people
        repeat with e in (get value of emails of p)
            if contents of e ends with "@gmail.com" then set end of l to name of p
        end repeat
    end repeat
end tell
l
Lri
la source
Merci d'avoir voté parce que c'est une solution à la requête que j'ai demandée, mais ce n'est pas une solution générique, donc je ne l'accepterai pas pour l'instant.
Robottinosino
2

La chose la plus proche d'une solution générique est celle de Shane Celis contacts commande disponible à http://gnufoo.org/contacts/ . Ceci est également disponible comme un paquet dans homebrew , qui peut être installé avec: $ brew install contacts

Il existe d'autres options qui peuvent également fonctionner pour vous. Contacts juste stocke les informations dans une base de données sqlite afin que vous puissiez y accéder avec la commande sqlite. Vous pourriez créer un script personnalisé d'accomplir une tâche particulière si vous le souhaitez.

Scott Stevenson avait un outil appelé un outil cela a été populaire pendant un certain temps, mais il semble être un lien mort maintenant. Vous pourriez aussi essayer en recherchant dans GitHub . En particulier, puisque l’application de Shane Celis ne semble pas entretenue (tout en fonctionnant bien), il y en a qui remplacements de bâtiments .

Aaron Massey
la source