在所有手册页中搜索特定的手册页部分

在所有手册页中搜索特定的手册页部分

我想搜索所有手册页中的子部分 FILES。

我已经尝试过了man -K FILES:resolv.conf,但man -K -S FILES resolv.conf没办法

我怎样才能做到这一点?

答案1

-S 选项选择一部分手动的,手册是整个手册页的集合。手册部分可以是 1(可执行文件)、2(系统调用)等。而不是单个手册页的部分。例如

man -K -S 3 resolv.conf

将返回 res_init(3) 的手册页,这是一个 C 库调用,属于第 3 节“库调用”,但不返回 dig(1) 的手册页,因为 dig(1) 属于第 1 节(可执行文件)。

由于这无论如何都是一次强力的文本搜索,我可能会使用 zcat 和 sed 或简单的 perl 脚本制作一个临时搜索脚本。

编辑:这是一个作为 bash 函数创建的示例脚本。

function mfind { find /usr/share/man/ -iname '*.gz' -exec zcat {} \; | perl -ne '/.SH NAME/ and $n=<STDIN>;/.SH '$2'/ and $c=1;$c and /'$1'/ and $n and print "$n" and $n=""' ; }

用法:

mfind expression mansection

例如

mfind utmp FILES

错误:不考虑 /etc/manpath.config,而是使用 /usr/share/man。没有其他可用选项。

答案2

man -K FILES

在 ubuntu 12.04 下测试功能正常

简单、有效。

人檔案1

人檔案2

人檔案3

在您的具体情况下,您正在寻找:

man -K FILES "resolv.conf"

人檔案4

答案3

请为此提交错误报告,最好是针对 Debian 中的 man-db 包,但如果您愿意,也可以在 Ubuntu 中提交。我不保证会很快实现它(我是 man-db 上游),但它是 Solaris 中一个有趣的功能,我以前不知道,偶尔会用到。

答案4

我不会说没有选择。我一直在尝试整理一份合并文件 。TXT或者.pdf完整人力资源的格式。我选择的选项是

man -a /bin/* > manList.txt

(显然,仍在尝试改进)。我远非专家,所以它有自己的缺陷(有些文本组有部分字符无法显示,我猜是分页符周围的编码出了问题,不确定)。但是,关于你的问题,似乎可以

man -a 5 /bin/* /sbin/* > {your_output_file}

至少在您找到更好的方法之前,这是一个可行的选择。我测试了它,同样的编码问题,但数据可以访问,只需要一些 TLC。然后您可以使用 txt 编辑器随意搜索。希望这能有所帮助。

相关内容