Filter --help comando?

2

Às vezes, quero pesquisar / filtrar a ajuda de comandos específicos para palavras-chave.

history --help

fornece uma lista de opções, às vezes é impressionante a quantidade de informações disponíveis. Posso filtrar por keywork "claro", por exemplo,

history --help *clear*

Também às vezes eu quero todas as informações de --help, mas é tão longo que algumas das linhas se perdem e não consigo rolar para elas. Como posso mostrar a tela por tela? preencha a primeira tela, em seguida, pressione a tecla preencha a segunda tela, etc.

Questione o mesmo para o comando de listagem de arquivos.

    
por Mikolar 18.12.2011 / 10:36

3 respostas

3

--help não é um comando universal (é um argumento para o comando ser chamado e deve ser fornecido explicitamente por ele), portanto, não há solução universal (na verdade, history não possui a opção --help no meu sistema). Você provavelmente quer algo como history --help 2>&1 | grep -E '(^|[^[:alnum:]])clear' (o redirecionamento é necessário para alguns comandos que imprimem seu texto de ajuda / uso em STDERR .

Você pode transformar isso em uma função assim:

helpgrep() {
    [ "$#" -eq 2 ] || return 1
    "$1" --help 2>&1 | grep -E "(^|[^[:alnum:]])$2"
}

Em seguida, execute-o com helpgrep command search-string .

Quanto ao seu segundo problema, tente direcioná-lo para less (ou more se less não estiver disponível), por exemplo, history --help | less .

    
por 18.12.2011 / 10:49
0

Para ver os comandos que têm clear , você pode usar grep :

history | grep clear

Se a saída for longa, você poderá visualizá-la em uma página de página usando o fluxo da saída até more :

 history | more

Claro que você pode combinar estes

history | grep clear | more

Isso não é específico para apenas history , portanto, pode ser aplicado a qualquer outro comando no qual você deseja filtrar resultados e / ou exibir uma altura de tela de cada vez.

    
por 18.12.2011 / 21:00
0

history --help | grep clear mostra as linhas que contêm a palavra (ou parte de uma palavra) clear . Este é um pipeline , onde a saída do primeiro comando ( history --help ) se torna a entrada do o segundo comando ( grep clear e grep é um comando para procurar um padrão em algum texto). Você também pode navegar por toda a ajuda executando history --help | less ( less é um visualizador de arquivos de texto) e use a chave / em menos para procurar por clear .

    
por 18.12.2011 / 23:41