O que significa `MENOS = + / EXEMPLO \:`?

11

Em man parallel_tutorial(para GNU paralelo), encontrei a seguinte magia negra:

LESS=+/EXAMPLE\: man parallel

Pesquisando em torno das manpáginas para man, lesse bash, ao que parece isso pode ter algo a ver com um less pré-processador , mas eu não tenho certeza, e as primeiras tentativas que fiz para procurar outras páginas de manual com esta sintaxe falhou.

O que +/...\:significa bash?

isomorfismos
fonte
Sua seção de destaque não possui \: a barra invertida está ausente. Você quis dizer isso?
Mike65535
@ mike65535, está digitado; se você clicar em 'editar', poderá vê-lo. Porém, ele não é exibido.
Aganju
Escapar o \ com outra barra invertida deve funcionar. Para abreviar para eu editar.
Orphevs

Respostas:

11

Isso não significa nada no bash . É algum texto arbitrário que é armazenado na variável de ambiente $ LESS para esse único comando.

Mas quando você executa less, ele lê o conteúdo de $ LESS e os interpreta como argumentos da linha de comando. Geralmente é aqui que você armazena a configuração.

( less não é um pré-processador: é um visualizador de arquivo de texto simples, também conhecido como pager. Observe que mannão possui leitor embutido: ele gera apenas o texto via groff (o pré-processador atual) e, em seguida, sempre executa menos ou algum outro pager para Os autores desse tutorial assumem que seu sistema usará menos porque é onipresente.)

Quando menos encontra argumentos começando com a +, o restante é interpretado como comandos ou pressionamentos de teclas para simular: por exemplo, se fosse +Gmenor, fingiria que você pressionou G após abrir o arquivo e rolaria para baixo.

No seu caso, menos finge que você digitou /EXAMPLE:após abrir o arquivo. /é a chave / comando de pesquisa em menos e o restante é o texto a ser pesquisado.

O resultado é que o comando abre a página de manual "paralela" e depois rola para a seção intitulada "EXEMPLO".

user1686
fonte
1
Que o autor do tutorial aparentemente achou muito difícil de expressar em inglês comum.
User1686
Bem, é é GNU ...: P resposta excelente btw, apareceu apenas como eu comecei a escrever tão bom tempo também!
bertieb
1
Estritamente falando, a barra invertida antes do cólon é relevante bash, pois impede o cólon de ter um significado especial, o qual não possui bash, embora possa ter outra concha.
AFH
1
@grawity O contexto do tutorial é: "Em seguida, observe os EXEMPLOS após a lista de OPÇÕES no man paralelo (use MENOS = + / EXEMPLO \: man paralelo)". Como você o expressaria em inglês comum?
Ole Tange
7

Como a excelente resposta do grawity indica , é uma maneira de dar uma instrução ao lesspager. Nesse caso específico, usando o manual e o tutorial do GNU Parallel, facilita a leitura dos exemplos.

Como você pode ver até no índice do manual on - line , cada exemplo começa com a string EXAMPLE:, então o comando LESS=+/EXAMPLE: man parallelpermite pular para o primeiro exemplo e os exemplos subseqüentes pressionando n(para a próxima correspondência ).

Por exemplo:

screencap de saltar através manual

( cada salto na seção manual é npressionado )

bertieb
fonte