仅删除括号内的数字

时间:2012-10-16 19:11:34

标签: bash sed

如何删除括号内的数字? 例如,我有以下文字:

This is 14 April [988] text..

我想删除[988]并保持14完整无缺。

到目前为止我尝试了什么:

sed 's@\[[0-9]\]@@g'

3 个答案:

答案 0 :(得分:4)

您可以使用:

在Mac上:

sed -E 's@\[[0-9]+\]@@g'

在Linux上:

sed -r 's@\[[0-9]+\]@@g'

答案 1 :(得分:3)

您需要启用重复(多个)数字字符才能使其工作 - 就目前而言,您的正则表达式只会删除一位数字。如果您想要由至少一个(一个或多个)数字字符组成的数字,请尝试

sed -E 's/\[[0-9]+\]//g'

答案 2 :(得分:1)

这应该有用(添加转义的+

sed 's@\[[0-9]\+\]@@g'