作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我只想阅读手册页中我要查找的部分。
例如只阅读 man
手册页中的 -k
部分我可以使用
man man | grep -E '(-k)'
结果:
man -k [apropos options] regexp ...
man -k printf
-k, --apropos
which in turn overrides the $PAGER environment variable. It is not used in conjunction with -f or -k.
结果不好,因为不是我需要的所有部分。
所以目前我正在使用:
man man | grep -E '(-k|'')'
结果是所有文本,但用红色标记了 -k
。
我的问题是我怎样才能得到类似这样的输出:
man -k [apropos options] regexp ...
man -k printf
Search the short descriptions and manual page names for the keyword printf as regular expression. Print out any matches.
Equivalent to apropos printf.
-k, --apropos
Equivalent to apropos. Search the short manual page descriptions for keywords and display any matches. See apropos(1)
for details.
最佳答案
你应该考虑 -k (-AnyOther) 的部分是什么意思
例如这个条目呢?:
-P pager, --pager=pager
Specify which output pager to use. By default, man uses pager -s. This option overrides the $MANPAGER environment variable, which in turn overrides the $PAGER environment variable. It
is not used in conjunction with -f or -k.
它也以某种方式与 -k 相关。
根据您的示例,我想您想跳过此条目。如果是这样,我建议使用两个正则表达式:
"^\s*-k" # for the case when -k is at the beginning
"man -k" # self explainable :)
从找到的条目中,您应该打印下面的所有行,在第一个可打印字符之前的空格比您的匹配中多。
我不确定 grep 或 sed 是否适合这项工作。就我个人而言,我会尝试使用 python 或 awk 来完成。
关于regex - 使用终端 man 命令阅读手册页中的部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40466255/
我是一名优秀的程序员,十分优秀!