* Lutz Zetzsche schrieb am 01.Dez.2002:
Daher bin ich beim Import meiner Daten so vorgegangen, dass ich zunaechst die Semikolons in der CSV-Datei durch Gleichheitszeichen ersetzt habe. Damit stimmte der Feldtrenner schon einmal. Danach habe ich dann noch manuell die Felder nachbearbeiten muessen, die mit den doppelten Anfuehrungsstrichen umschlossen waren. Anschliessend konnte ich die Daten dann problemlos ueber den Importfilter in das KDE-Adressbuch importieren.
sed "s/;/=/g" datei | sed 's/"//g' > neuedatei das erste sed ersetzt alle auftretende Seimikola durch Gleichheitszeichen; das zweite sed nimmt alle " weg. Keine Ahnung, wie die Outlook Adreßdateien aussehen, aber wenn es so ist, wie Du beschrieben hast, so müßte obige sedbefehle das Gewünschte erledigen. Es werden einfach alle auftretende " weggenommen. Wichtig ist, daß neuedatei einen anderen Namen hat als datei. Wenn neuedatei nicht existiert, wird sie angelegt, wenn sie bereits existiert, wird sie überschrieben. Wenn neuedatei den gleichen Namen wie datei haben soll, so muß man anschließend ein mv machen. Der > lenkt die Standardausgabe in eine Datei, dabei wird sie gegebenenfals neu angelegt, ansonsten überschrieben. Ein >> lenkt ebenfalls die Standardausgabe in eine Datei. Auch hier wird diese Datei angelegt, falls sie noch nicht existiert. Wenn die Datei aber bereits existiert, so wird im Gegensatz zu > nicht überschrieben, sondern angehängt. Linux kennt neben der Standardausgabe einen eigenen Fehlerkanal, in dem Fehlermeldungen umgelenkt werden. Will man diese Fehlermeldungen haben, so muß man mit 2> bzw. 2>> umlenken. Die Eingabe kann man auch umlenken, und zwar mit < Der | ist die sogenannte Pipe. Hier wird die Standardausgabe des ersten Befehls als Standardeingabe des anderen Befehls genommen. sed heißt StreamEDitor. Das s steht für Substitution. Es soll somit etwas durch etwas anderes ersetzt werden. Anstelle des / kann jedes beliebige andere Zeichen genommen werden. Dieses Zeichen, daß dem s unmittelbar folgt trennt den Text der ersetzt werden soll vom Text, mit dem ersetzt werden soll, und dieser von den Optionen. Das erste sed ersetzt ein ; durch ein = das zweite sed ersetzt ein " mit nichts. In beiden Fällen wird dem s Kommando von sed noch die Option g mitgegeben, die bewirkt, daß nicht nur das erste Auftreten in jeder Zeile erstezt wird, sondern jedes Auftreten. Das " muß vor der shell geschützt werden, da die shell es sonst interpretiert. Daher die ' Bernd -- ROTFL = Rolling On The Floor, Laughing = Auf dem Boden wälzen, lachend. SCNR = Sorry, Could Not Resist = Sorry, Ich konte nicht wiederstehen. AFAIK = As Far As I Know = So weit ich weis|BTW = By The Way = Nebenbei bemerkt IMHO = In My Humble Opinion = meiner bescheidenen Meinung nach |Zufallssig. 9