Ever had the situation where you have synced your iPhone (to iTunes OS X) and happen to sync both the contacts from your Address Book and Google Contacts? Or, just happen to add someone’s new contact info as another contact-card? Well, here’s how I cleaned and merged duplicate contacts so that my Address Book performs like a champ.
- Launch Script Editor (Applications/AppleScript/Script Editor)
- Paste the following code snippet
tell application "Address Book" set biglist to {} set theGroup to count every person if not (exists (group "Duplicate Entries")) then make new group with properties {name:"Duplicate Entries"} end if set the_names to the name of every person as list repeat with i from 1 to number of items in the_names set this_Name to item i of the_names set theName to name of person this_Name as string if this_Name is not in biglist then copy this_Name to end of biglist else add (people whose name is theName) to group "Duplicate Entries" end if end repeat save addressbook end tell
- Save your newly created script (would usually default to ~/Documents/AppleScripts/), and just open/run it
Now, the easiest way to figure out if its running or not (at least for me) was to run the Activity Monitor and sort by CPU. I simply just waited to see if Address Book would climb to the top doing 90+, and back down to nil. When this is done, you should be able to see a group called “Duplicate Entries”. From there, you may now sort through the details and delete the ones that you don’t need.
Note: You can also do a quick merge via Address Book itself from duplicate contacts. However, you won’t be able to see which contacts are being merged as its just a set-it-and-forget kind of deal. If you do not care and simply just want to get rid of those dupes, you can do so by doing the following:
- Launch Address Book
- Select Card from its menu
- Then, select Looking for Duplicates… and just go through the following prompts after search results finishes