Я хочу изучить, как искать файл путем предоставления содержания в нем в качестве параметра. Я могу затем применить решение искать команды, внесенные Richard Stallman (через страницы справочника).
Эта команда покажет вам имена файлов man-файлов, содержащих ключевое слово Столмен
:
zgrep -l Stallman /usr/share/man/man?/*
Вывод в моем 15.10 начинается с:
/usr/share/man/man1/cat.1.gz
/usr/share/man/man1/comm.1.gz
/usr/share/man/man1/ctags.1.gz
/usr/share/man/man1/ctags.emacs24.1.gz
Затем вы можете просматривать как обычно, используя man cat
, man comm
и т. Д.
От 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.
-w, --where, --location
Don't actually display the manual pages, but do print the
location(s) of the source nroff files that would be formatted.
Комбинировано:
man -wK 'Richard M Stllman'
Хотя на страницах руководства обычно есть только Ричард Столлман
с переменным количеством пробелов между двумя словами, поэтому регулярное выражение может уместно:
--regex
Show all pages with any part of either their names or their
descriptions matching each page argument as a regular
expression, as with apropos(1). Since there is usually no
reasonable way to pick a "best" page when searching for a
regular expression, this option implies -a.
Итак:
man --regex -wK 'Richard *Stallman'
Этот метод не выполняет поиск по всем страницам руководства по ключевому слову, а только по заголовку и краткому описанию каждой страницы. В вашем случае этого будет недостаточно, но полезно быстро что-нибудь найти. Если он не возвращает желаемых результатов, вы должны использовать ответ на @ philsf .
Вы можете использовать команду apropos
для быстрого поиска во всех заголовок и описание установленных страниц руководства для ключевого слова:
$ apropos chat
chat (8) - Automated conversational script with a modem
chattr (1) - change file attributes on a Linux file system
empathy (1) - GNOME multi-protocol chat and call client
Вы можете отобразить известное описание страницы руководства, используя whatis
:
$ whatis empathy
empathy (1) - GNOME multi-protocol chat and call client
Как я уже сказал, этот метод не будет выполнять поиск по всему телу страницы руководства, поэтому по поводу Столлмана
ничего не возвращает ...