Hallo Ronny,
"Ronny Seffner" ronny@seffner.de
sed -e 's/^9300,.*;(111|112),/&-/g' Buchungen.txt
Das geht. Nur noch nicht wie ich will. Ich dachte das escapen führt dazu, dass sed Zeichen, die er als Befehlscode sieht dann in den Suchstring einbezieht, hier wirkt es offenbar genau gegenteilig.
Nun habe ich in einer Zeile aber Vorkommen von "111" und "112". Obiger Befehl ändert nun nur das letzte Vorkommen (warum nicht nur das erste?). Mein Wunsch nach einem Einzeiler scheint zu schwinden ...
Meine Bedingung : Nur Zeilen die mit "9300," beginnen sollen in allen Vorkommen von ";111," und ";112," (jeder String kommt dabei aber nur max. einmal vor) um ein "-" (auf eben ";111,-" und ";112,-") ergänzt werden.
Dann sagt man das dem sed auch so dass er nur die Zeilen mit dem bestimmten Anfang bearbeiten soll.
sed -e '/^9300,/s/;(111|112),/&-/g'
Holger ___________________________________________________________ Schon gehört? WEB.DE hat einen genialen Phishing-Filter in die Toolbar eingebaut! http://produkte.web.de/go/toolbar