如何grep“+”或“ - ”值?

时间:2015-02-14 08:16:56

标签: bash grep

我需要用+或 - 符号

来grep值
eg: -3 or +3 

我尝试了以下内容,但没有帮助我

$ echo $accessTime | grep "^((\+)|(\-))[0-9]+$"

$ echo $accessTime | grep "+[0-9]+"

$ echo $accessTime | grep "\+[0-9]+"

$ echo $accessTime | grep "'+'[0-9]+"

$ echo $accessTime | grep "^'\+'[0-9]+"

$ echo $accessTime | grep "^(\+)[0-9]+"

$ echo $accessTime | grep "^(\+)[0-9]+"

你们可以帮帮我....我过去几天才学习bash ..谢谢

2 个答案:

答案 0 :(得分:4)

比你想象的要容易,你应该尝试

echo $accessTime | grep [+-]

答案 1 :(得分:2)

您可以使用:

accessTime='+3'
echo "$accessTime" | grep "+[0-9]\+"
+3

量词+需要在正常grep内进行转义,且文字+不得转义。

grep -E 正好反向

echo "$accessTime" | grep -E "\+[0-9]+"
+3

量词+不得在grep -E(扩展正则表达式)和文字+中进行转义。需要逃脱。