менше завжди нечутливе до регістру


21

Намагаючись дізнатися, як використовувати нечутливі до регістру пошуки, lessя знайшов це на сервері за замовчуванням .

Це, здається, прекрасно відповідає на моє запитання. Проблема полягає в тому, що тут не працює так (openSUSE 13.1; менше 458).

Я суміщений lessз , less -WiNSале я змінив це. Але навіть називати це таким, що command less fileнічого не змінює. Я перевірив, psщо -iв командному рядку більше немає можливості.

У відповіді сказано, що в lessдовідці (натисканні h) зазначено, що я можу використовувати і -iвсередині less. Якщо я використовую це один раз, тоді lessмені кажуть, що він змінився на нечутливий до регістру пошук (це правильно: нічого не змінюється). Якщо я використовую його два рази, тоді lessмені кажуть, що він звернувся до обліку в регістрі. І правильно, тоді це працює як слід з самого початку. Дати -iдвічі в командному рядку не працює.

Що тут?


1
Менше GNU не працює таким чином (тобто він за замовчуванням враховує регістри). Ви впевнені, що це не чуже? Які параметри ви використовуєте psдля перевірки цього?
goldilocks

1
Хм. Ніколи цього не помічав, але ти абсолютно правильний. Пошук FOO знаходить просто FOO, але пошук fooзнахідок foo& FOO. Навіть з -iі -WiNS.
slm

Чи не @goldilocks З psI отримують чи ні ( command lessваріанти) , або -WNSтак що я цілком впевнений , що це не psпроблема , приховування -i/ -I. lessЗдається, немає навіть можливості конфігураційного файлу, який міг би тут втрутитися.
Hauke ​​Laging

@slm "навіть з -i" - -iце щось кумедно, тому що повинен робити саме це. Цікаве питання: Є чи ваш менше матч FOOза foo без -i ?
Hauke ​​Laging

Ні, це працює інакше. FOOтільки сірники FOO. Мені це здається клопом.
slm

Відповіді:


32

Я не впевнений, як це ввімкнути в командному рядку, але, перебуваючи всередині, lessви можете змінити поведінку, яку ви хочете, давши -iкоманду less.

перемикання -i

      ss №1        ss №2

пошук /blahі/BLAH

      ss №3       ss №4

шукаючи /Blah

      ss №5

Мабуть, ви також можете викликати цей режим на вимогу, суфіксуючи ваші пошукові запити -i.

Приклад

less prompt> /search string/-i

Список літератури


Це теж працює для мене, але я мушу вводити це двічі. Я думаю, я напишу звіт про помилку для openSUSE.
Hauke ​​Laging

@HaukeLaging - Схоже, це залишається за замовчуванням, якщо ви вийдете та повернетесь, чи можете ви підтвердити цю поведінку?
slm

Ні, але я дізнався щось цікаве (хоча не пов’язане з цією "помилкою"): Ви можете користуватися -iнавіть після пошуку. Потім виділення змінюється (якщо воно ще активне).
Hauke ​​Laging

@HaukeLaging - ах так, це все. Таким чином, позначення трохи хитрує порівняно з іншими інструментами. /search string/-i.
slm

1
Суфіксація не працює в less 487 (GNU regular expressions)(від Ubuntu 18.04)
Руслан

5

Посібник (для моєї lessверсії 444) говорить:

      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 "-+".

Отже, я би перевірив, чи LESSможе бути встановлена змінна середовища десь, можливо, у вашій оболонці "крапки файлів". Також less -+iслід скинути значення -iза замовчуванням (що залежить від регістру). Якщо це поверне для вас чутливість регістру, ви могли б просто alias less=less -+i, можливо, разом з alias lessi=less -i.


0

Ви можете починати менше і ігнорувати випадок, передаючи параметр -i. Це ігнорує регістр, якщо рядок пошуку не має верхнього регістру. Ось короткий опис на сторінці довідки 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.

Інші версії менших можуть відрізнятися в їх інтерпретації -i.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.