
No terminal, como posso imprimir para gerar uma seção específica do resultado de man something
?
Por exemplo, se eu quisesse obter algumas informações sobre o valor de retorno da gravação da função C, gostaria de ver algo assim:
RETURN VALUE
On success, the number of bytes written is returned (zero indicates
nothing was written). It is not an error if this number is smaller
than the number of bytes requested; this may happen for example because
the disk device was filled. See also NOTES.
On error, -1 is returned, and errno is set appropriately.
If count is zero and fd refers to a regular file, then write() may
return a failure status if one of the errors below is detected. If no
errors are detected, or error detection is not performed, 0 will be
returned without causing any other effect. If count is zero and fd
refers to a file other than a regular file, the results are not speci‐
fied.
ERRORS
EAGAIN The file descriptor fd refers to a file other than a socket and
has been marked nonblocking (O_NONBLOCK), and the write would
block. See open(2) for further details on the O_NONBLOCK flag.
EAGAIN or EWOULDBLOCK
The file descriptor fd refers to a socket and has been marked
nonblocking (O_NONBLOCK), and the write would block.
[...]
em vez de:
WRITE(2) Linux Programmer's Manual WRITE(2)
NAME
write - write to a file descriptor
SYNOPSIS
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
DESCRIPTION
write() writes up to count bytes from the buffer pointed buf to the
file referred to by the file descriptor fd.
The number of bytes written may be less than count if, for example,
there is insufficient space on the underlying physical medium, or the
RLIMIT_FSIZE resource limit is encountered (see setrlimit(2)), or the
call was interrupted by a signal handler after having written less than
count bytes. (See also pipe(7).)
For a seekable file (i.e., one to which lseek(2) may be applied, for
example, a regular file) writing takes place at the current file off‐
set, and the file offset is incremented by the number of bytes actually
[...]
Responder1
Você pode usar -P
o sinalizador do man
programa para usar um pager para exibir páginas. Por exemplo, você pode usar less
como programa de pager com flag -p
para procurar o padrão ERROR
que acontece no início da linha dentro da página de manual:
man -P 'less -p ^ERRORS' symlink
Isso abre a página de manual symlink
e vai diretamente para a ERRORS
seção dela.
Responder2
Citarminha própria postagem do Meta:
Links para páginas de manual
Já tenho um método preferido para isso, sobre o qual você pode ler na less
página de manual em dois lugares:
LESS='+/\+cmd' man less
e
LESS='+/LESS[[:space:]]*Options' man less
(Veja o que eu fiz lá?)
Responder3
Se você apenas abrir uma página de manual como:
man cowsay
Você pode digitar:
/AUTHOR
para localizar e pular para a linha AUTHOR, por exemplo. Ou:
/myFunction
para encontrar instâncias myFunction
na página de manual.
(Se houver múltiplas instâncias, você pode pressionar n
para ir para a próxima instância)
Além disso, se você estiver em uma página de manual, poderá digitar h
e obter um resumo de menos comandos, como abaixo. Eu os cortei depois de partes que achei relevantes para você, mas tem mais.
RESUMO DE MENOS COMANDOS Os comandos marcados com * podem ser precedidos por um número, N. As notas entre parênteses indicam o comportamento se N for fornecido. h H Exiba esta ajuda. q :q Q :Q ZZ Sair. -------------------------------------------------- ------------------------- EM MOVIMENTO e ^E j ^N CR * Encaminha uma linha (ou N linhas). y ^Y k ^K ^P * Retroceder uma linha (ou N linhas). f ^F ^V SPACE * Avança uma janela (ou N linhas). b ^B ESC-v * Retroceder uma janela (ou N linhas). z * Avança uma janela (e define a janela como N). w * Retroceder uma janela (e definir a janela como N). ESC-SPACE * Avança uma janela, mas não para no final do arquivo. d ^D * Avança uma meia janela (e defina meia janela como N). u ^U * Retroceda uma meia janela (e defina meia janela como N). ESC-) RightArrow * Meia largura da tela à esquerda (ou N posições). ESC-( LeftArrow * Right meia largura da tela (ou N posições). F Avante para sempre; como "cauda -f". r ^R ^L Repintar a tela. R Repintar a tela, descartando a entrada armazenada em buffer. -------------------------------------------------- - A "janela" padrão é a altura da tela. A "meia janela" padrão é metade da altura da tela. -------------------------------------------------- ------------------------- PROCURANDO /pattern * Pesquise adiante a (N-ésima) linha correspondente. ?pattern * Pesquise para trás a (N-ésima) linha correspondente. n * Repita a pesquisa anterior (para a enésima ocorrência). N * Repita a busca anterior na direção reversa. ESC-n * Repete a pesquisa anterior, abrangendo arquivos. ESC-N * Repita a pesquisa anterior, inverta o diretório. & arquivos abrangentes. ESC-u Desfazer (alternar) o destaque da pesquisa. &pattern * Exibe apenas linhas correspondentes -------------------------------------------------- - Os padrões de pesquisa podem ser modificados por um ou mais dos seguintes: ^N ou ! Procure por linhas NÃO correspondentes. ^E ou * Pesquise vários arquivos (passe até END OF FILE). ^F ou @ Inicia a pesquisa no PRIMEIRO arquivo (para /) ou no último arquivo (para?). ^K Destaque as partidas, mas não se mova (MANTENHA a posição). ^R Não use EXPRESSÕES REGULARES. -------------------------------------------------- ------------------------- SALTO g ESC-> * Vai para a última linha do arquivo (ou linha N). p % * Vai para o início do arquivo (ou N por cento no arquivo).
Se você deseja apenas ler páginas de manual grandes com mais facilidade, isso deve funcionar.
Responder4
Cuidando das árvores você deve repensar se deveimprimirpáginas de manual inteiras ou em partes, especificamente em momentos em que elas podem mudar a cada poucos meses.
Em vez disso, como sugerido em outras respostas, você poderia (aprender a) usar o pager (por exemplo less
) para pesquisar as informações necessárias. Normalmente, a estrutura das páginas de manual ajuda você a encontrar isso com mais facilidade.
Além disso, alguns programas permitem que você abra páginas de manual "dentro", como o Emacs: Lá você pode usar o "MX man
" (ou "MX woman
") comando para abrir uma página de manual e, em seguida, usar todas as funções do editor para navegar nela (o Emacs também tem uma print-region
função, mas explicar isso seria fora do assunto para esta resposta).