在grep
中,当我尝试在man
页面中查找模式时,如果模式以grep
开头,则该模式将被视为-
的选项。例如,我发现有人正在使用uname -r
,我想知道-r
对uname的意义。
uname --help | grep '-r'
但是我收到了以下错误,
用法:grep [OPTION] ... PATTERN [FILE] ... 试试`grep --help'了解更多信息。
似乎-r
被视为grep
的选项。
答案 0 :(得分:4)
有两种方法:
如果您的版本支持,请使用--
停止参数处理。
uname --help | grep -- '-r'
使用-e
选项指定模式。因为它期待一个论点,
grep
不会将下一个字符串视为新选项,因为它以连字符开头。
uname --help | grep -e '-r'
答案 1 :(得分:4)
如grep:
的手册页所述-e PATTERN, - regexp = PATTERN
使用PATTERN作为模式。这可用于指定多个搜索模式,或用于保护以连字符( - )开头的模式。 (-e由POSIX指定。)
uname --help | grep -e -r
做了预期的事。
答案 2 :(得分:1)
反斜杠似乎也有帮助:
uname --help | grep "\-r"
uname --help | grep '\-r'