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.