当我在命令的手册页中查找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
已使用退格键加粗。)