맥의 주소록을 CSV로 뽑아서 Anycall PC Manager를 이용해 휴대폰에 넣기 시작했습니다.

MacBook의 주소록에서 관리하는 연락처들은 제 iPod touch와는 물론, iSync를 지원하는 (앞으로 쓸) 전화기나 PDA, 그리고 MobileMe로 Mac mini나 iMac, 심지어 PC의 Outlook과도 동기화가 가능합니다. 맥 주소록은 맥의 메일, iChat 등 맥의 다른 모든 응용프로그램과 연계됩니다. NateOn을 포함해 Jabber, MSN, AIM 등 세상 모든 종류의 메신저를 하나로 쓸 수 있게 해주는 AdiumAdiumBook을 사용하면 전화번호나 메일, 주소 뿐만 아니라 메신저 주소들까지도 맥 주소록 하나에서 통합 관리할 수가 있습니다. 이렇게나 훌륭한데, PC Manager가 저장해주는 엉성한 csv 파일 따위로나 관리하던, 소중한 지인들의 연락처들을 어찌 맥 주소록으로 옮기지 아니할 수 있었겠습니까! :)

맥 주소록을 제대로 쓰기로 결정한 뒤 약 400여 개의 연락처로 정리하느라 고생을 좀 했습니다. 정리를 마치고 나니 저의 핸드폰만 빼고는 주소록이 모두 깔끔해졌습니다. (아, Gmail도 빼고)

언제부턴가 3류 Anycall에도 Bluetooth가 기본 탑재돼 나오고 있지만, iSync를 지원할 가능성은 희박해보이고, PC Manager 같은 쓰레기로 끝까지 버티면서 대한민국 사람들의 시간과 에너지를 갉아먹을 것이 분명합니다. 뭐, 모든 사람들을 구할 수는 없겠지만, 저를 포함해, 맥 주소록으로 이 난국에서 살아남으려는 사람들을 위해 간단한 스크립트를 만들었습니다. 스스로 도울 사람들은 아래 스크립트로 맥 주소록의 정보를 csv로 내보내고 애니콜 PC Manager를 이용하여 핸드폰으로 넣어서 쓰시기 바랍니다.

#!/bin/sh
# Script for exporting AddressBook records into Anycall CSV format
# 주소록 정보를 애니콜 PC Manager 전화번호부에서 읽을 수 있는 CSV 만들기
# Author: Jaeho Shin <netj@sparcs.org>
# Created: 2008-07-21

# Using contacts from http://www.gnufoo.org/contacts/contacts.html
contacts -Hlf '%ln%fn	%nn	%mp	%hp	%wp	%e	%a	%c' "$@" |
iconv -f cp949 -t utf-8 |
sed -E -e 's/  +//g' -e 's/^ +| +$//' |
{
echo "이름,휴대폰,집,사무실,이메일,주소,메모"
perl -ne '
    chomp; ($n, $nn, $mp, $hp, $wp, $e, $a, $c) = split / *\t */;
    # 별명을 이름 대신 쓰기
    if ($nn) { $tmp = $nn; $nn = $n; $n = $tmp; }
    # 이름 없으면 회사명 쓰기
    unless ($n) { $n = $c; $c = ""; }
    # 전화번호 없으면 건너뛰기
    if ("$mp$hp$wp" ne "") {
        print join ",", ($n, $mp, $hp, $wp, $e, "\"$a\"", "$nn $c");
        print "\n";
    }
'
} | iconv -f utf-8 -t cp949

AddressBook Framework에서 정보를 가져오는 일은 contacts에게 맡겼습니다. contacts로 필요한 정보들을 추출해 애니콜에서 좋아하는 csv 형태로 변환하는 일만 위 스크립트가 합니다. 처음에 주소록을 CSV로 뽑아주는 애플 스크립트Address Book Exporter도 발견했지만 만족스럽지 못해서 손을 좀 더럽히게 됐습니다. abtool도 발견했지만 contacts가 별로 부족함이 없어서 써볼 생각을 안했습니다.

허접대기 쓰레기에게 자신의 정보를 맡겨서 나중에 크게 후회하지 마시고
맥 주소록으로 개인정보 주권을 회복하세요!


mac hacking