.vcf Dateien zusammenfassen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
HousyHarry
Beiträge: 123
Registriert: 22.07.2011 10:44:55
Lizenz eigener Beiträge: MIT Lizenz

.vcf Dateien zusammenfassen

Beitrag von HousyHarry » 26.11.2012 16:07:14

Hallo Zusammen

um mehrere Kontakte in Gmail zu importieren, wil ich mehrere .vcf Dateien in eine Schreiben.

Code: Alles auswählen

cat *.vcf > test.vcf
So bekam ich eine Datei mit vielen asiatischen Zeichen.
Ich dacht das der Fehler durch die Zeile \00 am Schluss der .vcf Datei verursacht wird.
diese versuchte ich mit sed zu entfernen

Code: Alles auswählen

cat *.vcf | sed '8,$ d' > test.vcf
erfolglos, diesmal schreibt es nur ein Kontakt in die test Datei.
Wo mache ich den Fehler?

Gruss Harry
Zuletzt geändert von HousyHarry am 27.11.2012 13:54:32, insgesamt 1-mal geändert.
Notebook: why! W253EU
OS: Debian testing (Bullseye) amd64
GUI: Gnome 3

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: .vcf Dateien zusammenfassen

Beitrag von rendegast » 27.11.2012 11:37:11

Einige davon kaputt oder "andersformatig"? zBsp.:

Code: Alles auswählen

$ file *.vcf
vCard.vcf:   Composite Document File V2 Document, No summary info
wolfram.vcf: vCard visiting card

Code: Alles auswählen

$ cat wolfram.vcf
BEGIN:VCARD
VERSION:3.0
N:;;;;
FN:Wolfram Research\, Inc.
ORG:Wolfram Research\, Inc.;
EMAIL;type=INTERNET;type=WORK;type=pref:iiiii@wwwww.ccc
TEL;type=MAIN;type=pref:000-000-0000
TEL;type=WORK;type=FAX:000-0000-0000
item1.ADR;type=HOME;type=pref:;;100 TTTTT CCCC Drive;Champaign;IL;61820;USA
item1.X-ABADR:us
X-ABShowAs:COMPANY
X-ABUID:E9FCFFA8-C6E4-11D8-BF43-000A95CCB1A4\:ABPerson
END:VCARD
Obiges "gecattet" und ein wenig individualisiert (FN, ORG, ADR) funktioniert,
auch wenn die Datei dabei abwechselnd fromdos/todos hinzugefügt wurde.
Die von gmail exportierte vcf eines solchen sieht etwas anders aus.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

HousyHarry
Beiträge: 123
Registriert: 22.07.2011 10:44:55
Lizenz eigener Beiträge: MIT Lizenz

Re: .vcf Dateien zusammenfassen

Beitrag von HousyHarry » 27.11.2012 13:47:08

Sehen alle folgendermassen aus

Code: Alles auswählen

BEGIN:VCARD
VERSION:2.1
N:Muster;Alex;;;
FN:Alex Muster
TEL;CELL;VOICE:00491234567890
TEL;PREF;CELL;VOICE:00491234567890
TEL;HOME;CELL:004991234567890
X-IRMC-LUID:29
END:VCARD
\00

Code: Alles auswählen

$ file *.vcf
A.vcf:          vCard visiting card
A.vcf:          vCard visiting card
A.vcf:          vCard visiting card
A.vcf:          vCard visiting card
A.vcf:          vCard visiting card
A.vcf:          vCard visiting card
A.vcf:          vCard visiting card
...
Entstanden beim Speichern der Kontakte von einem Samsung auf die Mikro SD-Karte.
Notebook: why! W253EU
OS: Debian testing (Bullseye) amd64
GUI: Gnome 3

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: .vcf Dateien zusammenfassen

Beitrag von rendegast » 27.11.2012 14:16:27

Code: Alles auswählen

$ cat dd.vcf | sed '8,$d'
BEGIN:VCARD
VERSION:2.1
N:Muster;Alex;;;
FN:Alex Muster
TEL;CELL;VOICE:00491234567890
TEL;PREF;CELL;VOICE:00491234567890
TEL;HOME;CELL:004991234567890
(Der Eintragsabschluß fehlt) <->

Code: Alles auswählen

$ cat dd.vcf | sed '10,$d'
BEGIN:VCARD
VERSION:2.1
N:Muster;Alex;;;
FN:Alex Muster
TEL;CELL;VOICE:00491234567890
TEL;PREF;CELL;VOICE:00491234567890
TEL;HOME;CELL:004991234567890
X-IRMC-LUID:29
END:VCARD
oder auch

Code: Alles auswählen

$ cat dd.vcf | sed 's@^\\00.$@@'
BEGIN:VCARD
VERSION:2.1
N:Muster;Alex;;;
FN:Alex Muster
TEL;CELL;VOICE:00491234567890
TEL;PREF;CELL;VOICE:00491234567890
TEL;HOME;CELL:004991234567890
X-IRMC-LUID:29
END:VCARD



----------
cat *.vcf > test.vcf
Ich würde noch sicherstellen, daß keine Rekursion auftreten kann, zBsp. daß test.vcf in einem anderen Verzeichnis liegt.


cat *.vcf > test.vcf
So bekam ich eine Datei mit vielen asiatischen Zeichen.
<->
Sehen alle folgendermassen aus
?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

HousyHarry
Beiträge: 123
Registriert: 22.07.2011 10:44:55
Lizenz eigener Beiträge: MIT Lizenz

Re: .vcf Dateien zusammenfassen

Beitrag von HousyHarry » 27.11.2012 14:27:51

Code: Alles auswählen

$ cat *.vcf | sed '10,$d' > /home/harry/test.vcf
da wird nur nichts zusammengefasst.
in der Test datei is nur eine vcard, anstatt viele.
Will ich zuviel?
Notebook: why! W253EU
OS: Debian testing (Bullseye) amd64
GUI: Gnome 3

Benutzeravatar
r900
Beiträge: 1053
Registriert: 09.10.2011 20:06:11
Lizenz eigener Beiträge: GNU Free Documentation License
Wohnort: Stockholm

Re: .vcf Dateien zusammenfassen

Beitrag von r900 » 27.11.2012 15:05:01

HousyHarry hat geschrieben:da wird nur nichts zusammengefasst.
in der Test datei is nur eine vcard, anstatt viele.
Will ich zuviel?
Na auf jeden Fall nach Zeilennummer zu gehen bringt nichts, denn manche vcards haben eben einen oder zwei Einträge mehr oder weniger. Wenn wirklich alle Dateien diesen "\00" in der letzten Zeile haben, versuch mal

Code: Alles auswählen

for file in *,vcf; do
  head -n -1 "$file" >> ../kontakte.vcf
done

Antworten