Evolution の連絡先を個別の​​ .vcf ファイルとしてエクスポート/保存するにはどうすればよいですか?

Evolution の連絡先を個別の​​ .vcf ファイルとしてエクスポート/保存するにはどうすればよいですか?

Ubuntu 10.04 で、evolution の連絡先を list.vcf ではなく個別の .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は、特定のデータベース(evolution連絡先リスト、デフォルトはPersonal)の各連絡先名とIDを表示するコマンドがあります。

ステップ2:

すべてのデータベース(evolution-conatct-list ローカルまたはオンライン)を表示するには、ターミナルで次のコマンドを実行します。

syncevolution --print-databases

データベース名をコピーします。

ステップ3:

次に、ターミナルプロンプトでdatabase名前を指定して次のコマンドを実行します。

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

PersonalEvolution 内の他の連絡先リストに置き換えることができます。

出力は次のようになります。

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

関連情報