如何 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
(扩展正则表达式)和文字 +
中转义。需要转义。
我需要用 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
(扩展正则表达式)和文字 +
中转义。需要转义。