我想在所有系统手册页中搜索某个字符串,但我只想获取出现此文本的手册页列表。谷歌返回的前两页结果没有提供我想要的答案(如果存在这样的答案的话)。
让我解释:
我想查看hairpin
出现该词的所有手册页。我继续打字man -K hairpin
,出现的内容与我打字时的内容类似man nmcli
。当我通过退出此手册页时q,屏幕上会显示以下内容:
--Man-- next: bridge(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
从这里,我可以连续键入Ctrl+D并最终返回到命令提示符,提示符上方显示以下内容:
--Man-- next: bridge(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: lldptool-evb22(8) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: systemd.network(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: nm-settings(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: nm-settings-ifcfg-rh(5) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
--Man-- next: systemd.directives(7) [ view (return) | skip (Ctrl-D) | quit (Ctrl-C) ]
我要问的是,是否可以获得如下所示的man pages
位置列表?:hairpin
man -<some-option> -K hairpin
nmcli(1)
bridge(8)
lldptool-evb22(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)
编辑:
使用句子搜索 Google 并不总是返回解决特定查询的结果。这显然是这个问题的情况,正如一些人指出的那样,它确实是重复的。
但是,最好不要删除它,因为它显示了 Ubuntu 系统上返回的特定输出。 Ubuntu 用户可能会从这个问题中受益。
编辑2:现在
搜索skip (Ctrl-D)
这个问题出现在Google结果的第一页中,而之前没有返回任何内容!
答案1
您可以使用以下-w
选项:
-w, --where, --path, --location
Don't actually display the manual pages, but do print the loca‐
tion(s) of the source nroff files that would be formatted.
这几乎返回了您所要求的内容:
$ man -wK hairpin
/usr/share/man/man1/nmcli.1.gz
/usr/share/man/man8/ip-link.8.gz
/usr/share/man/man8/bridge.8.gz
/usr/share/man/man5/systemd.network.5.gz
/usr/share/man/man5/nm-settings.5.gz
/usr/share/man/man5/nm-settings-ifcfg-rh.5.gz
/usr/share/man/man7/systemd.directives.7.gz
如果这还不够,您可以将其解析为形状:
$ man -wK hairpin | perl -pe 's#.*/([^/]+)\.(\d+)\.gz#$1($2)#'
nmcli(1)
ip-link(8)
bridge(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)
最后,你可以将其变成一个函数。将此行添加到 shell 的初始化文件中(~/.bashrc
例如):
function sman(){ man -wK "$@" | perl -pe 's#.*/([^/]+)\.(\d+)\.gz#$1($2)#'; }
然后,您可以运行:
$ sman hairpin
nmcli(1)
ip-link(8)
bridge(8)
systemd.network(5)
nm-settings(5)
nm-settings-ifcfg-rh(5)
systemd.directives(7)