如何用sed在正则表达式中减去?

时间:2014-12-05 23:33:34

标签: sed filter expression

我需要从不需要的字符中释放字符串。在此示例中,我想过滤掉 b 中的所有+和所有-,并将结果写入 c 。因此,如果 b +fdd-dfdf+,则 c 应为+-+

read b
c=$(echo $b | sed 's/[^(\+|\-)]//g')

但是当我运行脚本时,控制台说:

  

sed:-e expression#1,char 15:无效的范围结束

原因是我的正则表达式中的\-。我该如何解决这个问题并说,我想过滤所有-

1 个答案:

答案 0 :(得分:5)

你正在寻找这个吗?

kent$ echo 'a + b + c - d - e'|sed 's/[^-+]//g'
++--