localiza todos os comandos com wh, procura por parte da palavra chave na man page

2

Eu quero encontrar todas as páginas man para comandos que começam com wh . Mas eu não entendo porque a seguinte palavra-chave não funciona.

  man -f "wh"

Além disso, se eu colocar

  man chmod

na página man do chmod , ele tem a palavra "simbólico", então eu coloquei

  man -f "symbolic"

mas o comando chmod não aparece nos resultados.

Em suma, como faço para encontrar / comandos de pesquisa ou descrição de comandos por conteúdo dentro de palavras? Eu sei como encontrar uma certa palavra depois que eu recebo a man page, usando / character, mas eu quero encontrar todas as man pages com a palavra de busca.

    
por EPSILONsdfsdfdsf 01.10.2013 / 06:43

2 respostas

1

Você pode usar a opção -k para localizar todas as páginas man que contêm wh em seu nome ou em suas descrições curtas. Em seguida, apenas grep para aqueles que começam com wh . O comando apropos é equivalente a man -k .

Exemplo

$ man -k wh | grep "^wh"
what (1p)            - identify SCCS files (DEVELOPMENT)
whatis (1)           - display manual page descriptions
whereis (1)          - locate the binary, source, and manual page files for a command
which (1)            - shows the full path of (shell) commands.
while (n)            - Execute script repeatedly as long as a condition is met
whiptail (1)         - display dialog boxes from shell scripts
whirlwindwarp (6x)   - crazy moving stars
whline (3x)          - create curses borders, horizontal and vertical lines
whline_set (3x)      - create curses borders or lines using complex characters and renditions
who (1)              - show who is logged on
who (1p)             - display who is on the system
whoami (1)           - print effective userid
whois (1)            - client for the whois service

Pesquisando nas man pages

Se você estiver determinado a pesquisar nas páginas man fazendo uma pesquisa de texto completo, poderá usar a opção -K . Esse é um K maiúsculo.

Exemplo

$ man -w -K symbolic | head -10
/usr/local/share/man/man1/mimeopen.1
/usr/local/share/man/man1/mimetype.1
/usr/local/share/man/man1/ptksh.1
/usr/share/man/man1/as.1.gz
/usr/share/man/man1/atop.1.gz
/usr/share/man/man1/atopsar.1.gz
/usr/share/man/man1/attr.1.gz
/usr/share/man/man1/autoreconf.1.gz
/usr/share/man/man1/bakefilize.1.gz
/usr/share/man/man1/bash.1.gz

Este método não fornece o nome da página do manual nem a descrição curta. Ela mostra apenas o nome real do arquivo no qual a página do manual está armazenada, que normalmente é o nome do comando.

    
por 01.10.2013 / 06:54
0

man -f wh (sinônimo de whatis ) exibe a descrição curta (uma linha) para o comando wh . O sinalizador -f informa man para exibir apenas a primeira linha e não a página inteira. Não é isso que você está procurando.

O comando apropos wh (sinônimo de man -k wh ) lista as páginas man cuja descrição abreviada contém a string wh . Se você quiser combinar uma pesquisa na descrição curta com um padrão no nome do comando, poderá filtrar os resultados de apropos com grep . Para restringir a comandos do usuário (ou seja, seção 1) e não exibir comandos do administrador, as funções da biblioteca C, etc., passam -S 1 . Se você quer comandos de usuário e administrador, passe -S 1:8 .

apropos symbolic | grep '^wh'

Para pesquisar em man pages inteiras, com mandb (a implementação mais comum de man no Linux), use -K (capital K , em oposição à minúscula k para apropos ). Isso pode levar muito tempo se você tiver muitas páginas man instaladas; considere passar a opção --regex para restringir a pesquisa a páginas man cuja descrição de uma linha corresponde a uma expressão regular.

man -K -S 1:8 --regex 'change.*file' symbolic
    
por 02.10.2013 / 02:26

Tags