Am Freitag, den 17.11.2006, 17:53 +0100 schrieb Jan Ritzerfeld:
Am Freitag, 17. November 2006 17:13 schrieb Kai Krämer:
mit dem sed Befehl komme ich aber nicht klar kann mir jemand helfen? (...). Ich denke, mit sed kann ich das lösen....
Ich befürchte eher nicht. Da ich das Format von Evolution nicht kenne, nehme ich einfach mal folgendes an: 1. addressbook.db ist eine binäre" Datenbankdatei, 2. gehe ich davon aus, daß auch dort UTF-8 als Zeichensatz erwartet wird, wie generell unter aktuellen Linux-Distributionen, aber tatsächloch cp12xx von Windows benutzt wird, und 3. braucht UTF-8 für Umlaute mehr als 1 Byte, cp12xx nur eins.
Aus allem zusammen folgt für mich, daß du mit sed nicht weiterkommen wirst, weil wegen 3. die interne Struktur der Datenbank (1.) bei einer Konvertierung (2.) durcheinander geraten wird.
Mal probiert und Ende! Geht mit der dbase-Datei nicht. Wäre zu schön. Aber schön schnell alles Konvertiert.
Guck dir mal http://gentoo-wiki.com/TIP_Moving_data_from_outlook_to_evolution an, dort wird zum Export das VCard-Format genutzt, welches IIRC zeilenorientiert ist und damit eine Änderung der Länge innerhalb einer Zeile übersteht. Das erwähnte recode-Programm ist bei SL dabei.
Das ist der Erfolg: A) kai@tower:~/Kontakte> ./recode_and_cat_contacts >> addressbook.vcf /bin/bash: for datei in ./* ; do if [ -f "$datei" ] then cat "$datei" | recode CP1258/ fi done: Datei oder Verzeichnis nicht gefunden kai@tower:~/Kontakte> oder B) kai@tower:~/Kontakte> sh recode_and_cat_contacts >> addressbook.vcf kai@tower:~/Kontakte> dir add* -rw-r--r-- 1 kai users 0 17. Nov 18:39 addressbook.vcf kai@tower:~/Kontakte> Hmpf! kai@tower:~/Kontakte> cat recode_and_cat_contacts #!/bin/bash for datei in ./* ; do if [ -f "$datei" ] then cat "$datei" | recode CP1258/ fi done kai@tower:~/Kontakte> Ist ausführbar und alles richtig geschrieben. Ausgeführt im Verzeichnis mit den ganzen *.vcs. Null bite groß :( Hilfe? Kai. -- Kai & Anke Krämer Cornelia-Schlosser-Allee 28 79111 Freiburg