maneira fácil de imprimir a introdução ou descrição da página de manual

1

Existe uma maneira fácil de visualizar rapidamente um resumo condensado de uma página do manual: apenas a descrição ou a introdução da descrição? Eu não vejo uma opção / flag que faz isso, existe outra ferramenta que faz isso para você?

    
por Oscalation 09.03.2016 / 19:54

4 respostas

4

O resumo condensado referido pelo OP é provavelmente a seção NAME , que é tratada especialmente por mandb ou makewhatis (para preparar dados para whatis e apropos .

Por convenção, essa é uma única linha nessas ferramentas (embora possa ser agrupada devido ao comprimento na página de manual real). Além disso (ainda convenção), há um traço entre o tópico (à esquerda) e a breve descrição.

Outras leituras (Linux):

man -k printf
Search the short descriptions and manual page names for the keyword printf as regular expression. Print out any matches. Equivalent to apropos printf.

man -f smail
Lookup the manual pages referenced by smail and print out the short descriptions of any found. Equivalent to whatis smail.

A listagem apropos fornece mais resultados, pois mostra correspondências em qualquer parte da linha na descrição curta. Por exemplo, apropos printf pode mostrar

asprintf (3)         - print to allocated string
dprintf (3)          - print to a file descriptor
fprintf (3)          - formatted output conversion
fwprintf (3)         - formatted wide-character output conversion
printf (1)           - format and print data
printf (3)           - formatted output conversion
snprintf (3)         - formatted output conversion
sprintf (3)          - formatted output conversion
swprintf (3)         - formatted wide-character output conversion
vasprintf (3)        - print to allocated string
vdprintf (3)         - print to a file descriptor
vfprintf (3)         - formatted output conversion
vfwprintf (3)        - formatted wide-character output conversion
vprintf (3)          - formatted output conversion
vsnprintf (3)        - formatted output conversion
vsprintf (3)         - formatted output conversion
vswprintf (3)        - formatted wide-character output conversion
vwprintf (3)         - formatted wide-character output conversion
wprintf (3)          - formatted wide-character output conversion
XtAsprintf (3)       - memory management functions

Mas whatis procura páginas com o nome do tópico fornecido:

printf (1)           - format and print data  
printf (3)           - formatted output conversion

Outros sistemas podem diferir:

  • Página de manual do OSX para man(1) , opção -k é equivalente a apropos . Por sua vez, apropos DESCRIPTION diz que "apropos pesquisa um conjunto de arquivos de banco de dados contendo pequenas descrições de comandos do sistema para palavras-chave palavras-chave palavras e exibe o resultado na saída padrão." A seção> NAME diz "apropos - pesquise o banco de dados whatis para strings".
  • A página de manual do OSX para manpages(5) fornece a estrutura de manpages.

Embora o programa man em cada caso possa ter opções correspondentes a apropos e whatis , os programas separados são mais comumente usados em vários sistemas semelhantes ao Unix.

Curiosamente, o POSIX tem apenas man (e a opção -k ), sem correspondência para whatis . Na lógica, é anotado

The -f option was considered, but due to implementation differences, it was not included in this volume of POSIX.1-2008.

Além disso, o POSIX não usa o termo apropos , mas o descreve. Da mesma forma, o POSIX não tenta (nessa seção, pelo menos) descrever a estrutura de manpages individuais nem como elas são organizadas em seções. Esses são recursos dependentes do sistema.

    
por 10.03.2016 / 00:54
1

Dependendo do que você entende por "descrição", man tem um opção:

-f, --whatis
      Equivalent to whatis.  Display a short description from the man‐
      ual page, if available.  See whatis(1) for details.

Então:

$ man -f man                                   
man (7)              - macros to format man pages
man (1)              - an interface to the on-line reference manuals
man (1p)             - display system documentation
$ whatis man 
man (7)              - macros to format man pages
man (1)              - an interface to the on-line reference manuals
man (1p)             - display system documentation
    
por 09.03.2016 / 23:50
1

Alguns comandos suportam '--help or -h', o que pode fornecer um uso breve.

Para especificamente as man pages, gostaria de sugerir como uma maneira "fácil" é

man | head -15 #Number of lines can be different for each man page

Existem algumas outras maneiras, como escrever uma pequena função e definir como um alias.

Algo para você começar:

function readManDesc() {
manPage="$1"
if [ -z "$2" ]; then
count="10"
else
count="$2"
fi
man $manPage | grep -A$count "^DESCRIPTION" #This will get the DESCRIPTION + the 10 lines that come after.
}

readManDesc $@

alias mandesc="bash manPageDesc.sh"

Usage: mandesc <command> <lines to count after DESCRIPTION>
    
por 09.03.2016 / 23:31
0

se você quer dizer apenas a parte da descrição da página man antes de entrar na linha de comando muda

man <command> | col -b > /tmp/randomtempfile

em seguida, usando grep e sed , você pode extrair o máximo de informações necessárias do randomtempfile . Tanto quanto eu sei, o homem não tem uma opção para exibir páginas de resumo.

    
por 09.03.2016 / 21:50

Tags