Я хотел бы искать в подразделе ФАЙЛЫ на всех страницах руководства.
Я не пробовал man -K FILES:resolv.conf
и man -K -S FILES resolv.conf
никоим образом
Как я могу это сделать?
Опция -S выбирает раздел руководства , причем руководство представляет собой всю коллекцию справочных страниц. Раздел руководства может быть 1 (исполняемые файлы), 2 (системные вызовы) и т. Д. Не раздел отдельной справочной страницы как таковой. Так, например,
man -K -S 3 resolv.conf
вернет страницу руководства для res_init (3), вызова библиотеки C, который относится к разделу 3, Вызовы библиотеки, но не страницы руководства для dig (1), которая принадлежит в раздел 1 (исполняемые файлы).
Так как это в любом случае грубый текстовый поиск, я бы, вероятно, сделал бы специальный поисковый скрипт, использующий zcat и sed, или, может быть, простой perl-скрипт.
РЕДАКТИРОВАТЬ: вот пример сценария, созданного как функция bash.
function mfind { find /usr/share/man/ -iname '*.gz' -exec zcat {} \; | perl -ne '/.SH NAME/ and $n=<STDIN>;/.SH '$2'/ and $c=1;$c and /'$1'/ and $n and print "$n" and $n=""' ; }
Использование:
mfind expression mansection
, например,
mfind utmp FILES
Ошибки: не учитывает /etc/manpath.config, вместо этого использует / usr / share / man. Дополнительные параметры недоступны.
man -K FILES
Протестированный функционал под Ubuntu 12.04
Простой и эффективный.
В вашем конкретном случае вы ищете :
man -K FILES "resolv.conf"
Я бы не сказал, что нет вариантов. Я пытался собрать консолидированный файл в формате .txt или .pdf полного ресурса man. Вариант, который я выбрал, был
man -a /bin/* > manList.txt
(все еще экспериментировал с ним для улучшения, очевидно). Я далеко не эксперт, поэтому у него есть свои изломы (в некоторых группах текста есть разделы символов, которые нельзя отобразить, я предполагаю что-то, связанное с кодировкой вокруг разрывов страниц, не уверен.) Однако, что касается вашего вопроса, это кажется возможным, что
man -a 5 /bin/* /sbin/* > {your_output_file}
будет по крайней мере работоспособным вариантом, пока вы не найдете что-то лучшее. Я проверил это, та же проблема кодирования, но данные там для доступа, просто нужно немного TLC. Тогда вы можете искать на досуге с TXT-редактором. Надеюсь, это поможет.
Пожалуйста, подайте ошибку для этого, желательно в пакете man-db в Debian, но вы можете вместо этого подать ее в Ubuntu, если хотите. Я не обещаю в ближайшее время приступить к его реализации (я man-db upstream), но это интересная особенность в Solaris, о которой я не знал, и она будет время от времени использоваться.