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]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.