Por que este comando para abrir a página man e executar a pesquisa não está funcionando? [duplicado]

1

Esta open-man- A pergunta de pesquisa de página e pesquisa por string em um único cobre metade do que estou tentando fazer:

Instead of doing man chmod and then /a+x to jump to the first section in the chmod man page that mentions a+x, I would like to know if there is a way to open the man page to a specific search string, similar to how you can do vi +string filename.txt in vi(m).

A resposta escolhida foi

man foobar | less +/searched_string

No entanto, quando tento

man tmux | less +/^format

Menos lançamentos, mas retorna

Pattern not found (press RETURN)

Por que o padrão não está sendo encontrado?

OS - Ubuntu 15.10

% less --version
less 458 (GNU regular expressions)
Copyright (C) 1984-2012 Mark Nudelman
    
por the_velour_fog 19.04.2016 / 07:06

2 respostas

1

Use a variável de ambiente LESS , sobrescrevendo-a para o único comando que você está executando.

Veja também:

LESS='+/LESS[[:space:]]*Options' man less
LESS='+/\+cmd' man less
LESS='+/optional variable assignments' man bash
LESS=+/SIMPLE\ COMMAND\ EXPANSION man bash

Eu também discuti isso mais genericamente em um post Meta um tempo atrás:

Há uma coisa a ser lembrada ao criar o padrão de pesquisa: se você escolher algumas palavras consecutivas no meio de um longo parágrafo, há uma chance de elas não estarem na mesma linha quando essa página do manual é visualizado em um terminal de tamanho diferente. Por exemplo, o seguinte funciona em um terminal de tela cheia (no monitor meu ), mas não em um terminal de 80 colunas, porque as palavras ficam divididas em linhas:

LESS=+/allowing' a shell script' man bash

E devido à maneira como man lida com o espaçamento de palavras, o seguinte também não é confiável nos terminais:

LESS=+/"The latest version" man bash

Os dois comandos a seguir chegarão aos mesmos locais, mas de forma mais portável:

LESS=+/^INVOCATION man bash
LESS=+/^BUG man bash
    
por 19.04.2016 / 07:24
0

O problema é que, ao lançar menos e passar um termo de pesquisa como opção, a pesquisa diferencia maiúsculas de minúsculas.
Portanto, a solução é usar um padrão de pesquisa usando o mesmo caso. por exemplo. estes trabalhos

man tmux | less +/^FORMAT

ainda melhor - para proteger contra a expansão da shell

man tmux | less '+/^FORMAT'

ou alternativamente

man tmux | less -p '^FORMAT'

Antecedentes

Sempre que eu usei menos / man procuras eram insensíveis a maiúsculas e minúsculas, então eu esperava o mesmo ao passar um argumento de busca na invocação.
Parece que isso acontece porque, a versão do homem que o Ubuntu usa, abre menos com a opção -i , tornando as pesquisas insensíveis ao caso. Então, quando menos é invocado sem essa opção, você obtém menos 'comportamento padrão e, de repente, menos' pesquisas se tornam maiúsculas e minúsculas.

    
por 19.04.2016 / 07:10