Mailinglisten-Archive |
> > einen Punkt als Tausendertrenner und ein Komma als Dezimaltrenner.
> zu suchende Zeichenkette im RegExp-Format anzugeben ist. Für dich müssen
> wir also zunächst einmal die Eingabedatei zeilenweise durchsuchen und
> dabei die Tausender-Punkte entfernen. Der Syntax hierfür ist
> s/\.//g
> Danach wandeln wir die Kommas in Punkte um:
> s/,/./g
> In der Kommandozeile sieht der gesamte Befehl dann so aus:
> sed "s/\.//g;s/,/./g" inputfile.dat > outputfile.dat
> Beachte aber, dass ALLE Punkte entfernt und ALLE Kommas ersetzt werden,
> also wenn in der ASCII-Datei noch an anderer Stelle Punkt und Komma
> stehen, werden die auch umgewandelt. In diesem Falle müsste man die
> Regexps noch etwas restriktiver formulieren.
Ja, so:
sed -f expr.sed -e 's/\([0-9]\)\.\([0-9]\)/\1\2/g' -e 's/\([0-9]\),\([0-
9]\)/\1\.\2/g' filename.tmp1 > filename.tmp2
In der Datei expr.sed steht s/{Zeichen13}//g oder als HEX: 73 2F 0D 2F 2F 67
Jetzt werden nur die Punkte entfernt, die von Ziffern umgeben sind, und die
Kommas durch Punkte ersetzt, wenn Ziffern drum rum sind.
(Ich habe das vor 2 Tagen gebastelt).
Stay cool, don't close the fridge
P.Bierans
---
*** Weitere Infos zur Mailingliste und MySQL unter www.4t2.com/mysql
php::bar PHP Wiki - Listenarchive