Re: Gleitkommazahlen
Christian Boltz <suse-/[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hallo Boris, hallo Leute,
Am Freitag, 4. November 2005 08:11 schrieb Boris Höffgen:
> Christian Boltz wrote:
> > Am Donnerstag, 3. November 2005 14:05 schrieb Boris Höffgen:
[...]
> >>Eine Zeile im File sieht etwa so aus:
> >>"2345","Das ist ein Text","2,45","bla"
> >
> > Für Ersetzungen in Textdatei schlage ich üblicherweise sed vor - so
> > auch, um das Komma bei "2,45" durch einen Punkt zu ersetzen - aber
> > in diesem Fall (Komma auch als Feldtrenner) dürfte die RegEx
> > reichlich kompliziert ausfallen. Naja, sei's drum, ungetestet:
> > sed 's/^\("[^"]*","[^"]*","[^"]*\)\.\([^"]*","[^"]*"\)/\1.\2/'
>
> Stimmt, mit sed müsste es klappen. Das Obige funktioniert leider
> nicht, aber ich suche nach dem Fehler.
Der hat mich dann auch interessiert - Ursache war ein dämlicher
Denkfehler ;-)
Meine RegEx ist soweit OK, nur dass ich eben im Suchausdruck schon nach
dem Punkt gesucht hatte :-/
Gefixte Version:
# echo '"2345","Das ist ein Text","2,45","bla"' | \
sed 's/^\("[^"]*","[^"]*","[^"]*\),\([^"]*","[^"]*"\)/\1.\2/'
"2345","Das ist ein Text","2.45","bla"
Teste das aber bitte nochmal mit ein paar mehr Datensätzen. (Falls eine
der Spalten selbst Anführungszeichen enthalten kann, wird es allerdings
richtig lustig...)
Gruß
Christian Boltz
--
> Hilft vielleicht noch etwas anderes?
Eine genaue Fehlerbeschreibung. (Glaskugel oder Karten versagen bei
technischen Problemen immer, daher packe ich die auch nicht aus).
[Helga Fischer in suse-linux]
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-programming-unsubscribe-IBi9RG/[email protected]
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an: suse-programming-help-IBi9RG/[email protected]