apropos 正则表达式以什么开头?

apropos 正则表达式以什么开头?

我正在尝试使用apropos以便查找以 . 开头的所有手册页system

我尝试:

apropos ^system
apropos "^system"

但这些似乎返回的行不以系统开头,而是系统出现在行中的某个位置。

有任何想法吗?

编辑

根据下面的评论,上面的内容实际上有效,但它与多个组件匹配:
- cmd 名称
- cmd 描述 - cmd oneliner。

所以当我搜索系统时,我得到了这样一行:

tapset::task_time (3stap) - systemtap task_time tapset

这是有道理的,因为描述是从系统开始的。

真正获得以“system”开头的行的一种方法是:

apropos "" | grep "^system"

答案1

运行apropos '^system'对我有用,返回手册页列表,其中页面名称本身以 system 开头,或者一行描述以 system 开头。

例如,Debian (jessie) 上的输出包括:

system-config-printer (1) - configure a CUPS server
sigset (3) - System V signal API

我知道没有干净的方法来告诉apropros只在页面名称中搜索或者在一行描述中,但总是有grep

apropos system | grep -- '^system'    # page names
apropos system | grep -- '- system'    # descriptions

其中任何一个都可以封装在 shell 函数中,如下所示:

apro() { apropos "$1" | grep -- "^$1"; }

答案2

apropos命令搜索名称和描述。但结果可以被过滤:

apropos system | grep "^system"

相关内容