在 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