Pesquisa quais seções do homem contêm uma determinada entrada

2

No Linux (ou qualquer outro SO que use a ferramenta man ), normalmente há várias seções do manual. Muitas vezes, uma determinada entrada (como echo ou printf ) existe em várias seções, mas não em todas elas. Existe uma maneira simples de verificar em quais seções do manual essa entrada pode ser encontrada?

Obviamente, pode-se tentar man [section] [entry] e apenas percorrer todas as seções do manual, mas honestamente, eu nem tenho certeza de qual é a lista completa de seções (ou como encontrá-las definitivamente), e estou procurando por algo um pouco menos de força bruta.

    
por patrickvacek 10.01.2014 / 21:28

2 respostas

1

Experimente whatis (por exemplo, whatis printf ). As seções do homem não são aleatórias. Consulte a página do manual do Wikipedia: . Por exemplo, a seção 2 contém apenas as chamadas do sistema, enquanto a seção 3 contém apenas as chamadas da biblioteca C. Existe uma versão de printf para uso na linha de comando, portanto, ela está localizada na seção 1. Mas há também uma na Biblioteca C, que está localizada na seção 3.

Você terá que criar o banco de dados whatis primeiro com makewhatis -w (no Cygwin, ele está em / usr / sbin).

    
por 10.01.2014 / 22:09
3

Estes trabalham com o FreeBSD man , com o man das distribuições do Linux e os gostos do Debian Hurd, e até mesmo com o Cygwin man :

man -a -f ${entry}

ou, mais enigmaticamente, mas talvez mais útil em scripts de shell,

man -a -w ${entry}

É claro que você deve ter seu banco de dados whatis preenchido corretamente. Com o Cygwin, isso não acontece fora da caixa, ao contrário do FreeBSD, do Debian e assim por diante. É preciso executar makewhatis .

    
por 10.01.2014 / 22:25

Tags