Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
HousyHarry
- Beiträge: 123
- Registriert: 22.07.2011 10:44:55
- Lizenz eigener Beiträge: MIT Lizenz
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.
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
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
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
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
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
Beitrag
von HousyHarry » 27.11.2012 14:27:51
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
-
r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
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