
Я хочу узнать, как искать файл, передавая его содержимое в качестве параметра. Затем я могу применить решение для поиска команд, предоставленных Ричардом Столлманом (через man-страницы).
решение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.
-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'
Хотя на страницах руководства обычно есть только Richard Stallman
, с переменным количеством пробелов между двумя словами, поэтому регулярное выражение может быть уместным:
--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'
решение2
Эта команда покажет вам имена файлов man, содержащих ключевое слово Stallman
:
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
и т. д.
решение3
Этот метод не ищет ключевое слово во всех man-страницах, а только в названии и кратком описании каждой man-страницы. В вашем случае этого будет недостаточно, но это полезно для быстрого поиска чего-либо. Если он не возвращает желаемых результатов, вам нужно использовать @филсф'sотвечать.
Вы можете использовать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
Как я уже сказал, этот метод не будет выполнять поиск по всему телу страницы руководства, поэтому apropos Stallman
ничего не возвращает...