スマホからGRATINA(ガラケー)への電話帳移行の方法などに倣って4月25日にMNPしたGRATINA(KYY06)へアドレス帳を移行しようとしたところ、Nexus 5からSDカードにエクスポートしようとして、Android 4.4(Kitkat)ではSDカードにアクセスできなくなった事を思い出した。
取り敢えず、昨年10月時点の住所録が残っているWX01Kから"赤外線"で全件転送しておいたのだが、Googleの連絡先をデータのダウンロードからvCard形式でダウンロードし、GRATINAへEメールするという手段が簡単らしい。
ただ、こちらも"グループ"や"仮名"が移行できないという問題があるらしい。"仮名"については、どうやら
X-PHONETIC-FIRST-NAME:としおという2行を
X-PHONETIC-LAST-NAME:さとう
SORT-STRING;CHARSET=SHIFT_JIS:サトウトシオという1行に変換すれば良さそうなので、
yano@GT110b:~$ cat ~/google2gratina.shなスクリプトを書いてみた…のだが、"グループ"については「"CATEGORIES"プロパティ」は使用されず、vcfファイル自体がグループ毎に区切られてしまう。Googleの連絡先だとインポートするファイル単位で自動的にグループ分けされるのでそのグループ名を個々に変更していけば良いが、GRATINAだとまたアドレス帳を開いていちいちグループ分けし直さなくてはならないので、グループ名を含めて一本化されるCSV形式で移行する方が良さそうだ。
#!/bin/bash
nkf -w -Lu --katakana $1 | \
awk '\
/BEGIN:VCARD/ {kana=""} \
/X-PHONETIC-\w*-NAME:/ {kana = $1 kana;next} \
/END:VCARD/{if (kana != "") print kana;} \
{print} ' | \
sed -e 's/^X-PHONETIC-\w*-NAME:\(.*\)X-PHONETIC-\w*-NAME:\(.*\)$/X-PHONETIC-LAST-NAME:\1\2/' \
-e 's/X-PHONETIC-LAST-NAME:/SORT-STRING;CHARSET=SHIFT_JIS:/' | \
nkf -s -Z4
# vim: expandtab ts=4 ff=unix
yano@GT110b:~$ ~/google2gratina.sh Google-MyContacts-20150507.vcf > Gratina-MyContacts-20150507.vcf
【参照】
●3029TomBlog http://3029tomblog.blogspot.com/
┗【au GRATINA】VCFファイルのフリガナ問題 / ガラケー電話帳移行 2015年1月17日