特定の行のすべての { } を [ ] に置き換えたいのですが、残念ながら正規表現の最後の出現にしか一致できません。
次のような構造を持つ構成ファイルがあります。
entry {
id 123456789
desc This is a description of {foo} and was added by {bar}
trigger 987654321
}
私は次のsedを持っています。これは、最後の一致「バー」を置き換えることができますが、「foo」は置き換えることができません:
sed s'/\(desc.*\){\(.*\)}/\1\[\2\]/g' < filename
この検索を「desc」を含む行に固定します。これは、各「entry」ブロックの区切り括弧を置き換えるのが嫌だからです。
私の人生では、すべてのオカレンスを置き換える方法を理解できません。
角膜が割れるのを恐れて、一日中学習しており、これ以上チュートリアルを読むことができません。
ありがとう!