1、Excel收集联系人信息
Excel表格样式:
姓名 | 部门 | 手机 | 邮箱 | 职位 | 上级 |
诸葛亮 | 战略规划与实施部 | 18511001100 | zgl@sanguo.com | 策划总监 | 刘备 |
其中,表头去掉即可,收集所有的联系人信息到一个表格,复制除表头的内容到contact.txt
2、编辑脚本
# cat mk.sh
#!/bin/bash
function mk_QUOTED() {
tr -d '\n' |od -An -tx1 |tr ' ' = |tr 'a-z' 'A-Z' |tr -d '\n'
}
> contact.vcf
cat contact.txt |while read CON_LINE; do
NAME=$( echo ${CON_LINE} |awk '{printf "%s-%s", $1,$2}' |mk_QUOTED )
ORG=$( echo ${CON_LINE} |awk '{print $2}' |mk_QUOTED )
PHONE=$( echo ${CON_LINE} |awk '{print $3}' )
EMAIL=$( echo ${CON_LINE} |awk '{print $4}' )
TITLE=$( echo ${CON_LINE} |awk '{print $5}' |mk_QUOTED )
SUPER=$( echo ${CON_LINE} |awk '{print $6}' |mk_QUOTED )
cat << EOF >> contact.vcf
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;${NAME};;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:${NAME}
TEL;CELL:${PHONE}
EMAIL;WORK:${EMAIL}
TITLE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:${TITLE}
X-ANDROID-CUSTOM;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:vnd.android.cursor.item/relation;${SUPER};=37;;;;;;;;;;;;;
X-GROUP-MEMBERSHIP:三国蜀国
END:VCARD
EOF
done
其中,姓名、组织、职务都是QUOTED-PRINTABLE编码[mk_QUOTED函数转换],Email、电话、分组[三国蜀国]是明文的。
3、执行脚本生成vcf文件,联系人导入即可
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:;=E8=AF=B8=E8=91=9B=E4=BA=AE=2D=E6=88=98=E7=95=A5=E8=A7=84=E5=88=92=E4=B8=8E=E5=AE=9E=E6=96=BD=E9=83=A8;;;
FN;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E8=AF=B8=E8=91=9B=E4=BA=AE=2D=E6=88=98=E7=95=A5=E8=A7=84=E5=88=92=E4=B8=8E=E5=AE=9E=E6=96=BD=E9=83=A8
TEL;CELL:18511001100
EMAIL;WORK:zgl@sanguo.com
TITLE;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E7=AD=96=E5=88=92=E6=80=BB=E7=9B=91
X-ANDROID-CUSTOM;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:vnd.android.cursor.item/relation;=E5=88=98=E5=A4=87;=37;;;;;;;;;;;;;
X-GROUP-MEMBERSHIP:三国蜀国
END:VCARD