web-dev-qa-db-fra.com

Comment exporter / enregistrer des contacts Evolution sous forme de fichiers .vcf séparés?

Existe-t-il une commande ou un raccourci pour enregistrer les contacts d'évolution en tant que fichiers .vcf séparés plutôt que list.vcf dans Ubuntu 10.04?

2
Danial Jose

Ceci peut être facilement réalisé en utilisant syncevolution .

Étape 1:

Installez la dernière version de syncevolution à partir du référentiel:

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

syncevolution a un --print-items commande qui affiche chaque nom et identifiant de contact pour une base de données perticulaire (liste de contacts d'évolution; la valeur par défaut est Personal)

Étape 2:

Pour afficher toutes les bases de données (evolution-conatct-list local ou online) exécutez cette commande dans le terminal:

syncevolution --print-databases

Copiez le nom de la base de données.

Étape 3:

Maintenant, exécutez la commande suivante à teminal-Prompt avec le nom database:

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

Vous pouvez remplacer Personal par toute autre liste de contacts en évolution.

La sortie serait quelque chose comme ceci:

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

Étape 4:

Maintenant, exportez chaque contact en tant que fichier vcf distinct (pas-id serait le nom des fichiers) .Pour Tony Stark, ce serait:

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

Pour exporter tous les contacts en même temps, exécutez sans paramètre luids:

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

Il exportera tous les contacts dans le répertoire ~/Desktop/allcontacts.


J'ai créé un script simple qui exoprt tous les contacts sous forme de fichier avec leurs noms ( comme 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

Enregistrez le script dans gedit en tant que vcf-export. Exécutez ensuite:

chmod a+x vcf-export
./vcf-export
2
Khurshid Alam