Hallo noch mal,
warum geht :
cat Buchungen.txt | sed -e 's/^9300,.*;111,/&-/g'
und Folgendes nicht:
cat Buchungen.txt | sed -e 's/^9300,.*;(111|112),/&-/g'
Ich habe an der Stelle "111" eben X verschiedenen Zahlen die ich alle mit bearbeiten will, dort komme mitunter auch Mengen wie 141 bis 148 vor.
Mit freundlichen Grüßen / Kind regards Ronny Seffner
Hi Torsten,
vielen Dank für den Preis. Der UUOC sitzt aber als schlechte Gewohnheit recht fest ;-)
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.
Mit freundlichen Grüßen / Kind regards Ronny Seffner
Hi Ronny,
Am 29.06.2011 14:27, schrieb Ronny Seffner:
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.
sed -e '/^9300,/s/(111|112),/&-/g' Buchungen.txt
Viele Grüße, Torsten
Ich wieder,
Vorkommen von ";111," und ";112," (jeder String kommt dabei aber nur
max.
einmal vor) um ein "-" (auf eben ";111,-" und ";112,-") ergänzt werden.
sed -e '/^9300,/s/(111|112),/&-/g' Buchungen.txt
Wenn eine Zeile nun die 111 und 112 enthält, dann "kümmert" sich sed aber nur um eines dieser Vorkommen, nicht um beide. Das einzige, was sicher ist, ist dass die 111 oder 112 pro Zeile nur je einmal vorkommt, 111 und 112 zusammen jedoch schon.
Wenn ich sed mit -f ein File mit den Regeln mitgebe, dann klapp alles so wie ich will.
Mit freundlichen Grüßen / Kind regards Ronny Seffner
lug-dd@mailman.schlittermann.de