Gibt es ein CLI-Front-End für die Contacts.app-Datenbank (ehemals Address Book.app)?
Beispiel:
mycontacts --email '*@google.com' # to get Googlers
Gibt es ein CLI-Front-End für die Contacts.app-Datenbank (ehemals Address Book.app)?
Beispiel:
mycontacts --email '*@google.com' # to get Googlers
Antworten:
Das, was einer generischen Lösung am nächsten kommt, ist der contacts
Befehl von Shane Celis, der unter http://gnufoo.org/contacts/ verfügbar ist . Dies ist auch als Paket in Homebrew verfügbar , das installiert werden kann mit:$ brew install contacts
Es gibt andere Optionen, die möglicherweise auch für Sie funktionieren. Kontakte speichern nur Informationen in einer SQLite-Datenbank, sodass Sie mit dem SQLite-Befehl darauf zugreifen können. Sie können ein benutzerdefiniertes Skript erstellen , um eine bestimmte Aufgabe auszuführen, wenn Sie möchten.
Scott Stevenson hatte ein Tool namens abtool up, das für eine Weile populär war, aber es scheint jetzt eine tote Verbindung zu sein. Sie können auch versuchen , einige der Sachen auf GitHub zu durchsuchen . Insbesondere, da die App von Shane Celis nicht gewartet zu sein scheint (obwohl sie immer noch gut funktioniert), gibt es einige, die Ersatz bauen .
Contacts unterstützt AppleScript weiterhin. Sie können die Dokumentation der unterstützten Eigenschaften und Befehle anzeigen, indem Sie das zugehörige Wörterbuch im AppleScript-Editor öffnen.
osascript -e 'tell app "Contacts" to properties of people where vcard contains "@gmail.com"'
Ich habe keine Möglichkeit gefunden, die tatsächlichen E-Mail-Felder mit einem einzigen Bezeichner zu überprüfen.
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