Am Mittwoch, 11. Februar 2004 11:34 schrieb Christian Augustat:
Hi!
Ich versuche innerhalb einer CSV Datei ein einzelnes Feld zu ersetzen. Nun meine Frage... kann ich das per SED direkt ansteuern, oder muss ich die komplette Zeile (umständlich) auseinander parsen, um damit die anderen Felder wieder herzustellen?
Beispielzeile: myKey1234;bdfgfgf;ahfdhasdfads;uafusdufa;error;adjsflkjasdfadsf;error ;[...]
Ich möchte hier z.b. das Feld 5 ( error ) ersetzen mit einem anderen Wert.
Willst Du exakt Feld 5 ersetzen, oder aber einfach nur das erste Auftreten von "error" ersetzen. Ersteres wird mit sed kaum möglich, da wäre eine Zerlegung mit awk und Trennzeichen ";" die bessere Möglichkeit. Wenn es um die Ersetzung des ersten "error" geht, sollte es ein einfaches 'sed "s/error/<was auch immer>/"' ausreichen. Im Gegensatz zu 'sed "s/error/<was auch immer>/g"', wird nur das erste Vorkommen je Zeile angefasst.
Schön das man hier (qualifizierte) Beiträge zu seinen Fragen bekommt!
Soll hier schon mal vorgekommen sein ;-) -- Machs gut | http://www.iivs.de/schwinde/buerger/tremmel/ | http://packman.links2linux.de/ Manfred | http://www.knightsoft-net.de