Bonjour,
Voici un script en
python qui recherche les séquences
BEGIN:VCARD ..... END:VCARD dans le fichier d'entrée, et ne laisse qu'un seul exemplaire des séquences
rigoureusement identiques.
Voici le script
menage_vcf.py
#! /usr/bin/python
import sys, re
rec=re.compile('(^BEGIN:VCARD.*?^END:VCARD)([\x0d\x0a]*)',re.M|re.S)
resul=set()
with open(sys.argv[1],'r') as f, open(sys.argv[2],'w') as g :
fic=f.read()
while True :
k=rec.search(fic)
if(k) :
contact=k.group(1)
g.write(fic[:k.start(1)])
if contact not in resul :
g.write(contact)
g.write(k.group(2))
resul.add(contact)
fic=fic[k.end(2):]
else :
g.write(fic)
break
Utilisation
./menage_vcf.py fichier_initial.vcf fichier_modifie.vcf
Édité : Correction pour ne pas tenir compte des lignes vides qui suivent une séquence