【发布时间】:2019-07-24 21:28:17
【问题描述】:
我使用的是 Mac。
我正在尝试使用 sed 从字符串中删除所有括号 ( 和 )。
输入:this string contains (parentheses)
所需输出:this string contains parentheses
我试过了:
sed -E 's/[\)\(]//g'
但无论我是否转义括号,我仍然只能得到第一个匹配项(并因此删除)。
编辑:问题出在输入字符串上:
近括号是 ASCII 41,而我的输入有 ASCII 239,它解释了失败的原因。更令人困惑的是,这等同于尖锐的口音。仔细检查表明,如果没有以下“空格”,则无法选择 )。
【问题讨论】:
-
sed -i '' 's/[()]//g' file应该可以工作。 -
我的输入字符串有些奇怪(我是从另一个来源获得的输出):无论我尝试什么解决方案,我都无法获取结束括号')'。我需要更仔细地查看字符串包含的内容。