Bash:条件に応じて中括弧を削除

Bash:条件に応じて中括弧を削除

以下の文字列から中括弧を削除したいが、中 * 括弧がその間にある場合にのみ可能です。

このトピックには多くの回答がありましたが、私のシナリオでは条件を満たす中括弧だけを削除したいと思います{*} --> *

name,apple,price,{50 70 80 80},color,{*}
name,orange,price,{*},color,{80 30 40}

予想出力:

name,apple,price,{50 70 80 80},color,*
name,orange,price,*,color,{80 30 40}

助けてください。よろしくお願いします。

ベストアンサー1

sedのコマンドを使用しますs(代わりに)。は中かっこを含みますが:regexpには含まれません。replacement

sed 's/{\*}/*/g'

おすすめ記事