Как искать целые страницы руководства по Linux?

18

Иногда мне нужно искать определенные слова на всех страницах руководства. Я знаю об этом 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".

Итак, как мне найти слово в каждом разделе каждого руководства?

Helmyano
источник

Ответы:

30

От 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.

Это напрямую открывает для меня man-страницу ( vim, затем ex, затем gview...), так что вы можете добавить еще один вариант, например, -wполучить представление о том, какая man-страница будет отображаться.

$ 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
...
Мур
источник
4
Особенно интересна комбинация -wK
Лев Уфимцев
6

Используйте глобальную опцию 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предоставит вам нужную страницу.

сметана
источник
0
$ man -K "fopen"

дает вам выход

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

y открыть / отобразить справочную страницу

n продолжить поиск

q Выйти из поиска

Читтаранджан Моханта
источник
0

NetBSDимеет реализацию полнотекстового поиска, apropos(1)которая выполняет поиск по всему содержимому страниц man, а не ограничивается только NAMEразделом. Вы можете проверить это.

Для этого также есть веб-интерфейс: man-k.org


Отказ от ответственности: я разработчик обоих инструментов.

Абхинав Упадхьяй
источник