[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Neues Problem mit RegExp (was Re: suche regexp)



Hallo

Dienstag, 20. Juni 2006 20:07 - Matthias Houdek wrote:
> [Ersetzen von Dezimalpunkt durch Dezimalkomma in rein numerischen
> Feldern in folgender Struktur (z.B.) bei ein oder zwei
> Nachkommastellen: 
> sd34.43|232232.22|2345.4|324234.324|2323.45|123.41|
> ]
> 
> sed -r 's/(^|\|)([0-9]+)\.([0-9]{1,2}\|)/\1\2,\3/g' $file

Dieser RegExp macht zwar das Gewünschte, auch wenn das numerische Feld 
am Zeilenanfang steht.

Allerdings erfolgt der Wechsel nicht in zwei aufeinanderfolgenden 
numerischen Feldern (hier z.B. Felder 2 und 3). Ursache dafür ist, dass 
der abschließende Delimiter eines Feldes mit erfasst wird|werden muss 
und damit nicht mehr als Einleitung für das nächste Feld aufgenommen 
wird. Damit trifft der RegExp für das nachfolgende Feld nicht mehr zu.

Nun kann man ja diesen sed-Befehl 2 x über die Datei laufen lassen, dann 
würden auch die im ersten Durchlauf nicht erfassten geändert. Oder man 
verdoppelt zuvor alle Feld-Delimiter.

Gibt es keine andere Möglichkeit?

-- 
Gruß
                MaxX

Bitte beachten: Diese Mailadresse nimmt nur Listenmails entgegen.
Für PM bitte den Empfänger gegen den Namen in der Sig tauschen.



Reply to: