如何将 Evolution 联系人导出/保存为单独的 .vcf 文件?

如何将 Evolution 联系人导出/保存为单独的 .vcf 文件?

在 Ubuntu 10.04 中,是否有任何命令或快捷方式可以将 Evolution 联系人保存为单独的 .vcf 文件而不是 list.vcf?

答案1

这可以通过以下方式轻松实现同步进化

步骤1:

从 repo 安装最新版本的 syncevolution:

sudo add-apt-repository deb http://downloads.syncevolution.org/apt stable main
sudo apt-get update
sudo apt-get install syncevolution-evolution

syncevolution 有一个--print-items命令,可以显示特定数据库(evolution 联系人列表;默认为Personal)的每个联系人姓名和 ID

第2步:

要查看所有数据库(evolution-conatct-list 本地或在线),请在终端中运行此命令:

syncevolution --print-databases

复制数据库名称。

步骤3:

现在在终端提示符下运行以下命令database

syncevolution --print-items backend=evolution-contacts database=Personal

您可以Personal用 Evolution 中的任何其他联系人列表进行替换。

输出结果如下:

pas-id-5006660000000D81: Tony Stark
pas-id-5017A30900000670: Hockeye
pas-id-51717EFD00000096: Hulk
pas-id-5194ABA900000000: Syncevolution

步骤4:

现在将每个联系人导出为单独的 vcf 文件 (pas-id 将是文件的名称)。对于 Tony stark 来说,它将是:

syncevolution --export Tony-Stark.vcf backend=evolution-contacts database=Personal --luids pas-id-5006660000000D81 

要同时导出所有联系人,请不带luids参数运行:

syncevolution --export ~/Desktop/allcontacts/ backend=evolution-contacts database=Personal

它将导出 ~/Desktop/allcontacts 目录中的所有联系人。


我创建了一个简单的脚本,将所有联系人及其姓名作为文件导出(作为 firstnames-lastname.vcf)。

#!/bin/bash

mkdir ~/Desktop/allcontacts/
cd ~/Desktop/allcontacts/

syncevolution --print-items backend=evolution-contacts database=Personal >database
cat database | while read line
do
 passid=`echo $line | awk -F: '{print $1}'`
 name=`echo $line | awk -F\  '{print $2"-"$NF}'`
 syncevolution --export allcontacts/"$name".vcf backend=evolution-contacts database=Personal --luids "$passid"
done

在 gedit 中将脚本保存为 vcf-export。然后运行:

chmod a+x vcf-export
./vcf-export

相关内容