Я пытаюсь флаг все внутри тег цвета и заменить его чем-то другое, например:SED заменить между двумя строками подстановочных
I have a [color=blue]dog[/color] and a [color=blue]cat[/color] in my house.
в
I have a [color=blue][b]foobar[/b][/color] and a [color=blue][b]foobar[/b][/color] in my house.
Вот что я имею пробовал:
sample='I have a [color=blue]dog[/color] and a [color=blue]cat[/color] in my house.'
replace='foobar'
sample=$(echo $sample| sed "s/\[color=blue\].*\[\/color\]/\[color=blue\]\[b\]$replace\[\/b\]\[\/color\]/g")
Который получает меня:
I have a [color=blue][b]foobar[/b][/color] in my house.
Любая идея о том, как сделать sed nongreedy в этом случае?
Этот ответ был помечен как низкого качества из-за его длины и содержания. Не могли бы вы дать объяснение для своего кода? – BMW
@BMW: сделано! :-) –
@ A.M.D вам не нужно обратная косая черта в замене. –