menos sempre faz distinção entre maiúsculas e minúsculas

21

Tentando descobrir como usar pesquisas que não diferenciam maiúsculas de minúsculas, lessencontrei isso no serverfault .

Isso parece responder perfeitamente à minha pergunta. O problema é: Não funciona assim aqui (openSUSE 13.1; menos 458).

Eu tinha um alias lesspara less -WiNSmas eu mudei isso. Mas mesmo chamá-lo como command less filenão muda nada. Eu verifiquei com psisso que não há mais -iopção na linha de comando.

Como a resposta diz, a lessajuda (pressionando h) afirma que também posso usar -identro less. Se eu usar isso uma vez, lessme informará que ele mudou para pesquisa sem distinção entre maiúsculas e minúsculas (isso é correto: nada muda). Se eu usá-lo duas vezes, então lessme diz que ele virou para pesquisa com distinção entre maiúsculas e minúsculas. E certo, então ele funciona como deveria desde o início. Dar -iduas vezes na linha de comando não funciona, no entanto.

O que há aqui em cima?

Hauke ​​Laging
fonte
11
Menos GNU não funciona assim para mim (ou seja, é por padrão sensível a maiúsculas e minúsculas). Tem certeza de que não é um alias? Com quais opções você está usando pspara verificar isso?
goldilocks
11
Hmm. Nunca percebi isso, mas você está absolutamente correto. Procura de achados FOO apenas FOO, mas à procura de fooachados foo& FOO. Mesmo com o -ie -WiNS.
slm
@goldilocks Com pseu recebo command lessopções no ( ) ou -WNSentão tenho certeza de que isso não é um psproblema para ocultar -i/ -I. lessparece não ter sequer a possibilidade de um arquivo de configuração que possa intervir aqui.
Hauke ​​Laging
@ slm "mesmo com -i" é meio engraçado, porque -ié suposto fazer exatamente isso. A questão interessante é: o seu menos corresponde FOOao foo sem -i ?
Hauke ​​Laging
Não, funciona da outra maneira. FOOapenas combina FOO. Parece um inseto para mim.
slm

Respostas:

31

Não sei como habilitar isso na linha de comando, mas quando você estiver dentro, lesspoderá alternar o comportamento que deseja, dando o -icomando less.

alternar -i

      ss # 1        ss # 2

procurando /blahe/BLAH

      ss # 3       ss # 4

Procurando por /Blah

      ss # 5

Aparentemente, você também pode convocar esse modo sob demanda, sufixando suas pesquisas com a -i.

Exemplo

less prompt> /search string/-i

Referências

slm
fonte
Isso funciona para mim também, mas tenho que entrar duas vezes. Acho que vou escrever um relatório de bug para o openSUSE.
Hauke ​​Laging
@HaukeLaging - Parece permanecer o padrão se você sair e voltar, pode confirmar esse comportamento?
slm
Não, mas descobri algo interessante (embora não relacionado a esse "bug"): você pode usar -imesmo depois de uma pesquisa. O destaque muda então (se ainda estiver ativo).
Hauke ​​Laging
@HaukeLaging - ah sim é isso. Portanto, a notação é um pouco distorcida em comparação com outras ferramentas. /search string/-i.
slm
11
O sufixo não parece funcionar less 487 (GNU regular expressions)(no Ubuntu 18.04)
Ruslan
5

O manual (para o meu less, versão 444) diz:

      Options are also taken from the environment variable "LESS".  For exam‐
   ple, to avoid typing "less -options ..." each time less is invoked, you
   might tell csh:

   setenv LESS "-options"

   or if you use sh:

   LESS="-options"; export LESS

   On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.
       On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.  If an option
   appears in the LESS variable, it can be reset to its default  value  on
   the command line by beginning the command line option with "-+".

Então, eu verificaria se a variável de ambiente LESSpode estar configurada em algum lugar, talvez no seu shell "arquivos de ponto". Além disso, less -+ideve redefinir -ipara o padrão (que diferencia maiúsculas de minúsculas). Se isso traz de volta a distinção entre maiúsculas e minúsculas para você, então você poderia apenas alias less=less -+i, talvez junto alias lessi=less -i.

Omid
fonte
0

Você pode começar menos e ignorar maiúsculas e minúsculas passando a opção -i. Isso ignora maiúsculas e minúsculas, a menos que a string de pesquisa tenha um caractere maiúsculo. Aqui está o resumo sobre menos na página de ajuda do Ubuntu :

   -i or --ignore-case
          Causes searches to ignore case; that is, uppercase  and  lowercase  are  considered
          identical.   This  option  is ignored if any uppercase letters appear in the search
          pattern; in other words, if a pattern contains uppercase letters, then that  search
          does not ignore case.

   -I or --IGNORE-CASE
          Like -i, but searches ignore case even if the pattern contains uppercase letters.

Outras versões de less podem variar em suas interpretações de -i.

Dia D
fonte