私はできます。
{(.+)}
-->\1
そして"(.+)"
-->\1
または({.+}|".+")
-->\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がオプションの場合は、簡単にすることもできます。