用gmail导出的通讯录 vcf 格式所有联系人在一个文件里,因手机只能识别一个文件一个联系人的格式所以需转换下
因手机只认识ansi格式,用notepad++转成 ansi 格式,传到 linux 下执行脚本分离后的文件名,可能是乱码,打个包传到win下就正常了
/home/sh/contacts.vcf vcf是联系人文件
OUTPUT_DIR=/home/sh/contacts 分离后存放的路径
#####################################################################################
#!/bin/sh
#
VCF_FILE=/home/sh/contacts.vcf
cat $VCF_FILE |tr -d '\r'> /tmp/a.vcf
\cp /tmp/a.vcf $VCF_FILE
OUTPUT_DIR=/home/sh/contacts
[ -d $OUTPUT_DIR ] || mkdir -p $OUTPUT_DIR
contacts=()
cat $VCF_FILE|while read item;do
contacts[${#contacts[*]}]="$item"
if [[ "$item" =~ "END:VCARD" ]];then
FN=$(echo ${contacts[2]}|awk -F":" '{print $2}')
if [ -z "$FN" ];then
contacts=()
else
echo 'processing' $FN .....
Count=${#contacts[*]}
for((j=0;j
echo ${contacts[$j]} >> $OUTPUT_DIR/${FN}.vcf
done
contacts=()
fi
fi
done
阅读(4511) | 评论(0) | 转发(0) |