如何將 Evolution 聯絡人匯出/儲存為單獨的 .vcf 檔案?

如何將 Evolution 聯絡人匯出/儲存為單獨的 .vcf 檔案?

在 Ubuntu 10.04 中是否有任何命令或捷徑可以將進化聯絡人儲存為單獨的 .vcf 檔案而不是 list.vcf ?

答案1

這可以很容易地實現使用同步進化

步驟1:

從儲存庫安裝最新版本的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命令,顯示特定資料庫的每個聯絡人姓名和 ID(evolution 聯絡人清單;預設為Personal

第2步:

若要查看所有資料庫(evolution-conatct-list 本機或線上),請在終端機中執行下列命令:

syncevolution --print-databases

複製資料庫名稱。

步驟3:

現在在終端機提示字元下執行以下命令,名稱為database

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

您可以替換Personal為進化中的任何其他聯絡人清單。

輸出將是這樣的:

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

步驟4:

現在將每個聯絡人匯出為單獨的 vcf 檔案(pas-id 將是檔案的名稱)。

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 目錄中的所有聯絡人。


我創建了一個簡單的腳本,它將所有聯絡人匯出為帶有姓名的文件(作為名字-姓氏.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

相關內容