パターンが一致した場合に「}」の末尾にコンテンツを追加するにはどうすればよいですか?

パターンが一致した場合に「}」の末尾にコンテンツを追加するにはどうすればよいですか?

次の内容がある場合:

hello {sdsdsdsds} pattern {askjdasjkdjasd} hello {siadsd} pattern {iuewer} 

したがって、パターンが以前に一致した場合は、.output{*}を追加する必要があります;

hello {sdsdsdsds} pattern {askjdasjkdjasd}; hello {siadsd} pattern {iuewer};

はい、ちょうど1行です。

今、私は次のことを考えています。

's{.*}/

sedしかし、内容をどのように覚えているのかよくわかりません.*

そしてこんなことがあります。

'/pattern\ {.*}/ s/$/;/'

しかし、行が1つしかないので動作しません。

答え1

探している問題を正しく理解したら

sed 's/\(pattern {[^}]*}\)/\1;/g'

where\1内で一致するものすべてを置き換えます\(...\)

出力:

hello {sdsdsdsds} pattern {askjdasjkdjasd}; hello {siadsd} pattern {iuewer};

関連情報