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
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