Hallo, Am Fri, 04 Nov 2005, Boris Höffgen schrieb:
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.
Teste mal: awk -F'","' 'BEGIN{ OFS="\",\""; } { sub(/,/,".",$3); print; }' Zumindest mit obiger Zeile klappt das. -dnh -- Alternatively one can apply the knowledge painfully gained over decades of configuring SCSI chains, although you do get some funny looks if your family and friends catch you dragging a black goat into the shower cubicle with you, white-handled knife firmly clenched between your teeth. -- R. Sneddon