Как экспортировать/сохранить контакты Evolution в виде отдельных файлов .vcf?

Как экспортировать/сохранить контакты Evolution в виде отдельных файлов .vcf?

Есть ли какая-либо команда или сочетание клавиш для сохранения контактов evolution в виде отдельных файлов .vcf, а не list.vcf в Ubuntu 10.04?

решение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)

Шаг 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 будут именами файлов). Для Тони Старка это будет:

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

Связанный контент