Hallo, Am Wed, 09 Feb 2005, Felix Jaussi schrieb:
Ich habe folgendes Problem, mir liegt ein Export einer DB vor. Dieser ist wie folgt aufgebaut:
"<TEXT1>";;"";;;"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"<Text2>";"";"";"";;;"";"";"";""
ich muss den Text1 als Dateinamen bekommen mit dem einzigen Inhalt Text2. Das jeweils für jede Zeile. (Alle Satzzeichen ; und " sollen raus gefiltert werden. [..] Hier nochmal die Zeile so wie sie mir vorliegen:
"C00007/03";;"";;;"";"";"";"";"";"";"";"";"";"";"";;;"";"";"";"";"{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil\fcharset0 Arial;}}\viewkind4\uc1\pard\fs23\par }";"";"";"";;;"";"";"";""
Das geht wegen dem / im "Dateinamen" nicht. ==== #!/usr/bin/gawk -f BEGIN { FS=";"; } { $0 = gensub(/;"([^"]*);([^"]*)";/, ";\\1\0\\2;","g",$0); f=gensub(/"([^"]+)"/,"\\1",0,$1); f=gensub("/","_","g",f); print gensub("\0",";","g",$23) >f; } ==== Ausserdem gehe ich davon aus, dass in Text2 kein ASCII 0 ('\0') vorkommen darf. Abspeichern, ausfuehrbar machen und per stdin mit den Daten fuettern oder die Datendatei angeben. HTH, -dnh -- Gentile or Jew O you who turn the wheel and look to windward, Consider Phlebas, who was once handsome and tall as you. -- T. S. Eliot, `The Wasted Land', IV