grep 命令的手册页以获取连字符选项

grep 命令的手册页以获取连字符选项

当我在命令的手册页中查找find匹配项时,type它会返回很多我不想要的搜索结果。相反,我想使用返回的命令仅有的的搜索结果-type.

该命令man find | grep -type不起作用。它返回:

grep: invalid option -- 't'

答案1

如果要 grep 查找以连字符开头的模式,请--在指定的模式之前使用。

man find | grep -- -type

如果您想要更多信息,例如描述选项的整个部分,您可以尝试使用 Sed:

$ man find | sed -n '/-mindepth/,/^$/p'
   -mindepth levels
          Do  not apply any tests or actions at levels less than levels (a
          non-negative integer).  -mindepth  1  means  process  all  files
          except the command line arguments.

但是,这并不适用于您可能搜索的每个选项。例如:

$ man find | sed -n '/^[[:space:]]*-type/,/^$/p'
   -type c
          File is of type c:

不是很有帮助。更糟糕的是,对于某些选项,您可能会被误导,认为您已经阅读了有关该选项的全文,但实际上您没有阅读。例如,搜索-delete忽略了作为第二该标题下的段落。


我的建议是使用标准调用来man设置LESS环境变量。我在这个网站上的回答中经常使用它。

LESS='+/^[[:space:]]*-type' man find

要了解有关其工作原理的更多信息,请参阅:

LESS='+/^[[:space:]]*LESS ' man less
LESS='+/\+cmd' man less
LESS='+/\/' man less

如果您只是想在手册页中快速交互地查找选项,请学习使用 的less搜索功能。并且还可以看到:

答案2

或者通过管道传递less并提供搜索词:

man 1 find | less -p ' -type'

(这可能会失败,具体取决于less提要的内容,例如是否-type已使用退格键加粗。)

相关内容