csv file für sql import mit sed passend machen

24/09/2012 - 20:50 von Matthias Dort | Report spam
Hallo,

gegeben sei folgendes csv-file:


"Hans";"Wurst";"Freier Test mit gueltigen Zeilenvorschueben:
Tel. 12345
Fax. 67890
Zusatz
Ende des Datensatzes


Dieses file soll in ein für einen sql-Import gültiges Format umgewandelt
werden.

Problem dabei ist, dass das letzte Feld cr/lf beinhaltet, welches sql
konform kodiert werden muss, da es umgebrochenen Text darstellt. Damit
das csv also erfolgreich in eine mysql Tabelle importiert werden kann,
ist es notwendig, das cr/lf im letzten Feld in "/r/n" umzuwandeln.

Dazu denke ich, kann sed zum Einsatz kommen. Es muß also das cr/lf (DOS
Format), (!)dem KEIN doppeltes Hochkomma voraufgeht(!) in den String

/r/n

gewandelt werden. Wie kann man das als Regex formulieren und sed
unterschieben?

Uff, jetzt hoffe ich, mich einigermaßen verstàndlich ausgedrückt zu
haben ;-)

Gruß

Matthias
 

Lesen sie die antworten

#1 Matthias Dort
24/09/2012 - 20:55 | Warnen spam
Am 24.09.2012 20:50, schrieb Matthias Dort:
Hallo,

gegeben sei folgendes csv-file:


"Hans";"Wurst";"Freier Test mit gueltigen Zeilenvorschueben:
Tel. 12345
Fax. 67890
Zusatz
Ende des Datensatzes


Dieses file soll in ein für einen sql-Import gültiges Format umgewandelt
werden.

Problem dabei ist, dass das letzte Feld cr/lf beinhaltet, welches sql
konform kodiert werden muss, da es umgebrochenen Text darstellt. Damit
das csv also erfolgreich in eine mysql Tabelle importiert werden kann,
ist es notwendig, das cr/lf im letzten Feld in "/r/n" umzuwandeln.

Dazu denke ich, kann sed zum Einsatz kommen. Es muß also das cr/lf (DOS
Format), (!)dem KEIN doppeltes Hochkomma voraufgeht(!) in den String

/r/n

gewandelt werden. Wie kann man das als Regex formulieren und sed
unterschieben?

Uff, jetzt hoffe ich, mich einigermaßen verstàndlich ausgedrückt zu
haben ;-)

Gruß

Matthias




Sorry, ein doppeltes Hochkomma habe ich vergessen:

"Hans";"Wurst";"Freier Test mit gueltigen Zeilenvorschueben:
Tel. 12345
Fax. 67890
Zusatz
Ende des Datensatzes" <-

Ähnliche fragen