如何在带有换行符的 man 中搜索参数/标志/选项?

如何在带有换行符的 man 中搜索参数/标志/选项?

man参数/标志/选项章节中通常包含换行符,如下所示:

-s
    silent

我怎样才能找到-s后面包含换行符的 ,就像上面的例子一样?

目的是防止出现-s在文本块内部(即后面没有换行符)的情况。

答案1

这取决于您使用什么寻呼机。

如果使用less寻呼机,搜索字符串(当您键入/或 时?)实际上是扩展正则表达式(具有less特定扩展名)。

作为正则表达式,-s$将匹配位于行末尾的a -s(或者在调用 by 时-S默认情况下搜索忽略大小写,除非搜索模式包含大写字母,键入区分大小写)。将匹配,后跟 0 个或多个空格字符,然后是行尾。lessman-i-s[[:space:]]*$-s

使用most寻呼机,搜索只是在行内容中找到的纯字符串,因此您没有任何选择。

您可以man通过环境变量指定使用哪个分页器来显示格式化的手册页$PAGER。通过实施 from man-db,您还可以使用-P优先于$MANPAGER环境变量的选项来指定它,而环境变量本身又优先于该$PAGER变量。

默认使用哪个寻呼机取决于系统和man实现。在我的系统(Debian)上,man(来自man-db)调用该pager命令(该命令作为dpkg 替代方案默认情况下是less),但有一些less特定的配置(它设置了许多LESS*环境变量)。

您还可以自己man some-topic | less将格式化输出通过管道传输,或者: for在启动时开始搜索该模式,但请注意,使用 man-db 实现 时,重定向输出会禁用格式化。lessman some-topic | less '+/-s$'lessman

相反,您可以less使用环境变量给出其选项列表$LESS,但请注意,$那里有特殊含义,并且需要转义:

LESS='--use-backslash +/-s\$' man -P less some-topic

相关内容