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