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