Procura através de uma determinada seção manpage em todas as páginas man

4

Eu gostaria de pesquisar por ARQUIVOS de subseção em todas as páginas do manual.

Eu tentei man -K FILES:resolv.conf e man -K -S FILES resolv.conf de maneira nenhuma

Como posso fazer isso?

    
por user52151 19.09.2012 / 14:50

4 respostas

2

A opção -S seleciona uma seção do manual , sendo o manual a coleção inteira de páginas man. A seção manual pode ser 1 (executáveis), 2 (chamadas do sistema), etc. Não a seção de uma única página man como tal. Então, por exemplo

man -K -S 3 resolv.conf

retornará a man page para res_init (3), uma chamada à biblioteca C que pertence à seção 3, Library calls, mas não a página man para dig (1), que pertence à seção 1 (executáveis).

Como essa é uma pesquisa de texto bruto de qualquer maneira, eu provavelmente faria um script de pesquisa ad hoc usando zcat e sed, ou talvez um simples script em perl.

EDIT: aqui está um script de exemplo, criado como função bash.

function mfind { find /usr/share/man/ -iname '*.gz' -exec zcat {} \; | perl -ne '/.SH NAME/ and $n=<STDIN>;/.SH ''/ and $c=1;$c and /''/ and $n and print "$n" and $n=""' ; }

Uso:

mfind expression mansection

por exemplo

mfind utmp FILES

Bugs: não considera /etc/manpath.config, usa / usr / share / man em seu lugar. Não há mais opções disponíveis.

    
por January 19.09.2012 / 15:13
2

man -K FILES

Testado funcional no Ubuntu 12.04

Simples e eficaz.

No seu caso específico, você está procurando:

man -K FILES "resolv.conf"

    
por Elder Geek 02.06.2014 / 15:27
1

Por favor arquive um bug para isso, de preferência contra o pacote man-db no Debian, mas você pode arquivá-lo no Ubuntu em seu lugar, se quiser. Eu não prometo começar a implementá-lo em breve (sou man-db upstream), mas é um recurso interessante no Solaris que eu desconhecia e que teria usos ocasionais.

    
por Colin Watson 23.10.2012 / 01:30
0

Eu não diria nenhuma opção. Eu tenho tentado montar um arquivo consolidado no formato .txt ou .pdf do recurso completo do homem. A opção que optei foi

man -a /bin/* > manList.txt

(ainda experimentando para melhorar, obviamente). Eu estou longe de ser um especialista, por isso tem suas dobras (alguns grupos de texto têm seções de caracteres não exibíveis, eu assumo algo envolvendo a codificação em torno das quebras de página, não tenho certeza.) No entanto, em referência à sua pergunta, parece viável que

man -a 5 /bin/* /sbin/* > {your_output_file}

seria pelo menos uma opção viável até você encontrar algo melhor. Eu testei, mesmo problema de codificação, mas os dados estão lá para acesso, só precisa de algum TLC. Então você pode procurar em seu lazer com um editor de texto. Espero que isso ajude.

    
por SonOfEntropy 01.06.2014 / 04:07

Tags