如何在 Linux 上搜索整个手册页?

如何在 Linux 上搜索整个手册页?

有时我需要在所有手册页中查找某些单词。我知道apropos,但如果我正确理解其手册,它会将搜索仅限于描述。

每个手册页中都有一个简短的说明。 apropos 在描述中搜索关键字实例。

例如,如果我查找像“viminfo”这样的单词,我根本找不到任何结果......

$ apropos viminfo
viminfo: nothing appropriate.

...虽然这个词存在于 Vim 手册的后面部分(它安装在我的系统上)。

   -i {viminfo}
               When  using  the  viminfo file is enabled, this option sets the filename to use, instead of the default "~/.vim‐
               info".  This can also be used to skip the use of the .viminfo file, by giving the name "NONE".

那么我怎样才能在每本手册的每个部分中查找单词呢?

答案1

man man:

-K, --global-apropos
      Search for text in all manual  pages.   This  is  a  brute-force
      search,  and is likely to take some time; if you can, you should
      specify a section to reduce the number of pages that need to  be
      searched.   Search terms may be simple strings (the default), or
      regular expressions if the --regex option is used.

这会直接为我打开手册页(vim、then ex、then 、...),因此您可以添加另一个选项,例如了解将显示哪个手册页。gview-w

$ man -wK viminfo
/usr/share/man/man1/vim.1.gz
/usr/share/man/man1/vim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/run-one.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/gvim.1.gz
/usr/share/man/man1/run-one.1.gz
/usr/share/man/man1/run-one.1.gz
...

答案2

使用 中的全局 apropos 选项man

 -K, --global-apropos
              Search for text in all manual pages.  This is a brute-force search, and is likely to take some time; if you can, you should specify a section to reduce the number  of pages that need to be searched.  Search terms may be simple strings (the default), or regular expressions if the --regex option is used.

所以,man -K viminfo会给你你需要的页面。

答案3

NetBSD有一个全文搜索实现,apropos(1)它可以搜索手册页的完整内容,而不是仅限于该NAME部分。您可能想检查一下。

它还有一个基于网络的界面:man-k.org


免责声明:我是这两个工具的开发人员。

答案4

$ man -K "fopen"

给你输出

/usr/share/man/en/man3/fclose.3.gz? [ynq]  

y打开/显示手册页

n继续搜索

q退出搜索

相关内容