我需要从不需要的字符中释放字符串。在此示例中,我想过滤掉 b 中的所有+
和所有-
,并将结果写入 c 。因此,如果 b 为+fdd-dfdf+
,则 c 应为+-+
。
read b
c=$(echo $b | sed 's/[^(\+|\-)]//g')
但是当我运行脚本时,控制台说:
sed:-e expression#1,char 15:无效的范围结束
原因是我的正则表达式中的\-
。我该如何解决这个问题并说,我想过滤所有-
?
答案 0 :(得分:5)
kent$ echo 'a + b + c - d - e'|sed 's/[^-+]//g'
++--