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

how to grep for "+" or "-" values?

我需要用 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..谢谢

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

echo $accessTime | grep [+-]

您可以使用:

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

量词 + 需要在正常 grep 中转义,文字 + 不得转义。

grep -E正好相反:

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

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