Intereting Posts
Резервное копирование при завершении работы Установить Ubuntu вместе с Win 8.1 на отдельных физических дисках и с двойной загрузкой? Не удалось возобновить после приостановки Индикаторы с настраиваемым белым цветом в неправильном положении на двойном мониторе Локальная файловая система не была правильно отключена во время выключения Установщик не видит окна, пытающиеся выполнить двойную загрузку. Запретить `dd` уничтожать SSD или HDD Как исправить неверную запись в этом файле apt Интерпретация вывода uname: 32 или 64 бит? Отключить трекпад и контрольную точку через командную строку Закройте все экземпляры `gnome-terminal` с помощью команды Как я могу изменить местоположение папки по умолчанию, которое открывает nautilus? Переименовывать файлы численно (порядок даты / времени) Как исключить LAMP из запуска в 16.04 В чем разница между / dev / tty * и / dev / bus / usb / 001/002?

Как искать все файлы man, содержащие определенное ключевое слово?

Я хочу узнать, как искать файл, предоставляя содержимое внутри него в качестве параметра. Затем я могу применить решение для поиска команд, внесенных Ричардом Столлманом (через man-страницы).

Эта команда покажет вам имена файлов 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 и т. Д.

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

Хотя у manpages обычно есть только 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' 

Этот метод не выполняет поиск по всем ключевым словам для ключевого слова, а только заголовок и краткое описание каждой из них. В вашем случае этого будет недостаточно, но полезно быстро что-то найти. Если он не возвращает желаемые результаты, вы должны использовать ответ @ philsf .

Вы можете использовать команду apropos для быстрого поиска названия и описания всех установленных manpages для ключевого слова:

 $ 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 

Вы можете отобразить описание известной man-страницы, используя whatis :

 $ whatis empathy empathy (1) - GNOME multi-protocol chat and call client 

Как я уже сказал, этот метод не будет искать весь тело manpage, поэтому apropos Stallman ничего не возвращает …