シェルスクリプトから角かっこを削除する

シェルスクリプトから角かっこを削除する

角かっこまたは角かっことその間のテキストを削除するメカニズムを作成したいと思います。たとえば、

今後:

text0 text1 text2 (text3 text4)

後ろに:

text0 text1 text2 text3 text4

または:

text0 text1 text2

これら2つのオプションと異なるタイプの角かっこをテストしたいのですが、Awk、Sed、または他のツールのいずれを使用するのかわかりません。どんな提案にも感謝します。

ベストアンサー1

テキストを保存するにはこれで十分です。

tr -d '()'

テキストと括弧を削除するには:

sed 's/([^)]*)//g;s/  / /g'

テキストに入れ子になった角かっこが含まれている場合は、次のようになります。

echo 'text0 (text1 (textA )) text2 (text3 text4) test5' |
  sed -e :A -e 's/([^()]*)//;tA' -e 's/  / /g'

おすすめ記事