我需要用+或 - 符号
来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 ..谢谢
答案 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
(扩展正则表达式)和文字+
中进行转义。需要逃脱。