Non trovando nessun programma che mi permetta questo, si possono usare i seguenti script per convertire un file CSV (separato da una virgola) in una serie di file VCARD, questi file possono essere sincronizzati all’interno di un cellulare.
csv2vcard.sh
#!/bin/bash
rm Sync -rf
mkdir Sync
sed -e's/\"//g' $1 > $1.old
mv $1.old $1
IFS='
'
for X in $(cat $1)
do
nome=$(echo $X | awk -F "," '{ print $1 }')
secondo=$(echo $X | awk -F "," '{ print $2 }')
cognome=$(echo $X | awk -F "," '{ print $3 }')
societa=$(echo $X | awk -F "," '{ print $4 }')
posizione=$(echo $X | awk -F "," '{ print $5 }')
ufficio=$(echo $X | awk -F "," '{ print $6 }')
cellulare=$(echo $X | awk -F "," '{ print $7 }')
email=$(echo $X | awk -F "," '{ print $8 }')
echo $nome $secondo $cognome
echo "BEGIN:VCARD" > ./Sync/$nome$secondo$cognome
echo "VERSION:2.1" >> ./Sync/$nome$secondo$cognome
echo "X-EVOLUTION-FILE-AS:$cognome, $nome $secondo" >> ./Sync/$nome$secondo$cognome
echo "FN:$cognome, $nome $secondo" >> ./Sync/$nome$secondo$cognome
echo "N:$cognome;$nome;$secondo;;" >> ./Sync/$nome$secondo$cognome
echo "NICKNAME:" >> ./Sync/$nome$secondo$cognome
echo "PHOTO:" >> ./Sync/$nome$secondo$cognome
echo "CATEGORIES:" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-AssistantsName:" >> ./Sync/$nome$secondo$cognome
echo "EMAIL:$email" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-ManagersName:" >> ./Sync/$nome$secondo$cognome
echo "ORG:$societa" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-Department:" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-Office:" >> ./Sync/$nome$secondo$cognome
echo "X-KADDRESSBOOK-X-SpousesName:" >> ./Sync/$nome$secondo$cognome
echo "TEL;WORK:$ufficio" >> ./Sync/$nome$secondo$cognome
echo "TEL;CELL:$cellulare" >> ./Sync/$nome$secondo$cognome
echo "TITLE:$posizione" >> ./Sync/$nome$secondo$cognome
echo "URL:" >> ./Sync/$nome$secondo$cognome
echo "END:VCARD" >> ./Sync/$nome$secondo$cognome
done
rm ./Sync/Nome*
vcard2csv.sh
#!/bin/bash
cd Sync
echo Nome,Secondonome,Cognome,Società,Posizione,Ufficio,Cellulare,Email > ../$1
IFS='
'
for X in *
do
dos2unix $X
sed -e 's/,//g' $X > $X.old
mv $X.old $X
cognome=$(cat $X | grep "^[ ]*N:" | awk -F ":" '{ print $2 }' | awk -F ";" '{ print $1 }')
nome=$(cat $X | grep "^[ ]*N:" | awk -F ":" '{ print $2 }' | awk -F ";" '{ print $2 }')
secondo=$(cat $X | grep "^[ ]*N:" | awk -F ":" '{ print $2 }' | awk -F ";" '{ print $3 }')
email=$(cat $X | grep "EMAIL:" | awk -F ":" '{ print $2 }')
societa=$(cat $X | grep "ORG:" | awk -F ":" '{ print $2 }')
ufficio=$(cat $X | grep "WORK:" | awk -F ":" '{ print $2 }')
cellulare=$(cat $X | grep "CELL:" | awk -F ":" '{ print $2 }')
posizione=$(cat $X | grep "TITLE:" | awk -F ":" '{ print $2 }')
echo $nome $secondo $cognome
echo $nome,$secondo,$cognome,$societa,$posizione,$ufficio,$cellulare,$email >> ../$1
done
cd ..