Hm, ich befürchte fast, dass das mit sed so nicht möglich ist. Hier mal ein paar perl-Varianten:
Mit zwei lookaheads:
Code:
echo 'bla bla blub {Beliebiger Text in geschweiften Klammern} bla bla blub'|
perl -pe 's/[^{](?=.*})(?!.*{)/$&:/g'
Mit dem Text in curly-braces in eine eigene Variable ($b) gepackt:
Code:
echo 'bla bla blub {Beliebiger Text in geschweiften Klammern} bla bla blub'|
perl -pe '$b=$1 if m|[{](.*)[}]|; $b=~s/./$&:/g; s/[{].*[}]/{$b}/'
Oder die Zeile in durch curly-braces geteilte Felder zerteilen:
Code:
echo 'bla bla blub {Beliebiger Text in geschweiften Klammern} bla bla blub'|
perl -anF'(?<={)|(?=})' -e '$F[1]=~s/./$&:/g; print @F'
Aber kA, ich bin auch nicht so der sed-Crack, vielleicht geht das ja doch. Würde mich ehrlich gesagt auch mal interessieren.
Lesezeichen