如何使用 grep 搜索字符串“-1”

如何使用 grep 搜索字符串“-1”

我在 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"

相关内容