``(.+)'` または `{(.+)}` を `\1` に置き換えてください。

``(.+)'` または `{(.+)}` を `\1` に置き換えてください。

私はできます。

  1. {(.+)}-->\1そして
  2. "(.+)"-->\1または
  3. ({.+}|".+")--> \1

私は何をしますか{(.+)}|"(.+)"- > \1

$ echo "\"x\"" | sed -E 's/"(.+)"/\1/'
x
$ echo "{x}" | sed -E 's/{(.+)}/\1/'
x
$ echo "\"x\"" | sed -E 's/^(\{.+\}|".+")$/\1/' 
"x"

ベストアンサー1

1つのアプローチは次のとおりです。

 sed -E '/^(\{.+\}|".+")$/s/.(.+)./\1/'

またはこれ:

sed -E 's/\{(.+)\}|"(.+)"/\1\2/'

または、Perlがオプションの場合は、簡単にすることもできます。

おすすめ記事