Re: fichier vcard

トップ ページ

このメッセージに返信
著者: anne.guilde@free.fr
日付:  
To: guilde
題目: Re: fichier vcard
Le 04/12/2017 à 17:47, Jérôme Villafruela a écrit :
> Le 04/12/2017 à 14:54, anne.guilde@??? a écrit :
>> vi vi
>> La première étape est faite depuis longtemps
>>
>> Mon but c'est de récupéré toutes les entrées pour modifier les
>> programmes php que m'a filé Jérôme Villafruela
>> https://github.com/thomascube/vcfconvert
>>
>> ---
>> #!/bin/sh
>>
>> fichier='/media/anne/home/anne/Documents/anne/papiers/vdard/Contacts_006.vcf'
>>
>>
>> while read line; do echo $line; done < $fichier
>> ---
>>
>> Maintenant il faut que je trouve comment on analyse ce qu'il y a dans
>> $line
>>
> L'utilisation de awk proposée par Nicolas est de loin la plus simple, en
> élaborant sa solution :
>
> BEGIN {
>     FS = ":"
>     #séparer les champs en sortie par une tabulation
>     OFS ="\t"
>     #headers
>     print "name","firstname","telwork","telhome","telcell"
> }
>
> #nouveau contact
> /^BEGIN:VCARD/ {
>     name = ""
>     firstname = ""
>     telhome = ""
>     telwork = ""
>     telcell = ""
> }
>
> /^N:/  { name=$2 }
> /^FN:/ { firstname=$2 }
> /^TEL;CELL:/ || /^TEL;X-CellularVoice:/ { telcell=$2 }
> /^TEL;WORK:/ || /^TEL;X-WorkVoice:/     { telwork=$2 }
>
>
> #fin de contact
> /END:VCARD/ {
>     print name,firstname,telwork,telhome,telcell
> }
>
> 1 {print $1 >"/dev/stderr"}
>
>
>
> Utilisation :
>
> Copier le script dans un fichier vcard2csv.awk
> Exécuter :
> awk -f vcard2csv.awk <contacts.vcf >contacts.csv
>
> Tutoriel sur l'outil : https://www.shellunix.com/awk.html
>
> Bonne soirée,
>
> Jérôme
>


Merci pour le awk.
Je savais que cela existait mais jamais utilisé
J'ai testé!

Le problème, je ne recherche pas tout à fait cela.
normalement dans le standard, les lignes commencent par TEL;CELL,
TEL;WORK...
Et il n'y a pas de lignes qui commencent par TEL;X-CellularVoice,
TEL;X-WorkVoice...

J'aimerais avoir une liste de toutes les entrées...
ce que j'appelle entrée c'est TEL;CEL TEL;WORK TEL;X-CellularVoice
TEL;X-WorkVoice... tout les débuts de ligne avant les : sauf les lignes
qui commencent par BEGIN END VERSION

J'ai l'impression que ce fichier a beaucoup d'années d'existence et que
les contacts ont été enregistrés avec des logiciels différents ...

Anne