手册页的全文搜索

手册页的全文搜索

apropos非常适合搜索手册页名称和描述。是否有类似的命令用于搜索手册页的全部内容?

答案1

通过使用命令 man man 我们可以看到有两个选项。

   -k     Equivalent to apropos.

   -K     Search  for  the  specified  string in *all* man pages. Warning:
          this is probably very slow!  It  helps  to  specify  a  section.
          (Just  to  give  a  rough idea, on my machine this takes about a
          minute per 500 man pages.)

这是在 RHEL 5 系统上

答案2

两种选择供您选择。首先,你可以尝试这个脚本:

#!/bin/bash
for MANFILE in /usr/share/man/man?/*
do
    found=`zcat $MANFILE | grep -c "$1"`
    if [ $found -gt 0 ]; then
        echo "------ Found in $MANFILE"
        man -P cat $MANFILE | grep --color=auto "$1"
    fi
done

将其保存为searchman.sh或类似的内容,并且可以选择使其可执行并将其粘贴到您的$PATH.刚刚跑的sh searchman.sh <query>。 (注意:我现在刚刚将其快速组合在一起。我已经对其进行了测试,看起来一切都很好,但可能需要在这里或那里进行调整。)

其次,特别是如果你使用 Ubuntu,你可以使用http://manpages.ubuntu.com/- 有许多可用的全文搜索选项。

答案3

这可能已经晚了。但我刚刚完成了 NetBSD 的 Google Summer of Code 项目,我的任务正是如此。实现手册页的全文搜索。

代码在这里:https://github.com/abhinav-upadhyay/apropos_replacement

虽然目前这仅适用于 *BSD(准确地说是 NetBSD,但应该与其他 BSD 进行一些小的调整)系统,因为编写代码时做出了一些假设,而且我周围没有 Linux 机器来修复或将此移植到 Linux 上工作。

有一个可用的网络界面:man-k.org

相关内容