我在 bash 中使用 grep 来搜索字符串 "-1" 。
我通常会像这样搜索“bar”......
glaucon@foo $ grep -irn "bar"
...这工作正常,但是当我尝试搜索“-1”时,我得到了这个...
glaucon@foo $ grep -irn "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
...我认为减号可能是一个特殊字符,但看起来不是。我还尝试使用“固定字符串”选项,以防这是我不熟悉的正则表达式的某些方面......
glaucon@foo $ grep -irnF "-1"
Usage: grep [OPTION]... PATTERN [FILE]...
Try 'grep --help' for more information.
...但是,如图所示,这也不提供输出。
我确信这很简单,但是……怎么办?
谢谢
答案1
您可以选择使用反斜杠转义-
破折号\
:
grep -irn "\-1"
添加两个破折号来标记选项的结尾(按照@steeldriver的建议):
grep -irn -- "-1"
或者,-e
明确地说“下一个参数是模式”:
grep -irn -e "-1"