Как вы делаете поиск без учета регистра, используя модификатор шаблона, используя less?


303

Кажется, что единственный способ сделать это - передать параметр -i, когда вы изначально запускаете меньше. Кто-нибудь знает какой-то секретный взлом, чтобы сделать что-то вроде этой работы

/something to search for/i

Ответы:


442

Вы также можете ввести команду, -Iкогда выполняется меньше. Это переключает чувствительность к регистру для поиска.


49
-i означает игнорировать регистр в запросах, которые не содержат прописных букв, в то время как -I игнорирует регистр во всех поисках.
Константино Кронембергер

14
«игнорировать регистр в поисках, которые не содержат заглавных букв», называется «умный регистр» в vim и ack. Добавляя это здесь для googlability.
Энди Лестер

@ Здравствуйте, вы не «запускаете команду», просто набираете ее, меня также смутило выражение.
xception

-Iкак в буквальном смысле типа -Iс менее открытым.
Дилан Лэндри

108

Вы также можете установить переменную среды LESS

Я использую LESS=-Riтак, чтобы я мог накачать цветной вывод grepв него, и поддерживать цветовые последовательности ANSI.

Еще одна мало используемая особенность less, которую я обнаружил, - это начинать с +Fаргумента (или нажимать SHIFT+, Fкогда меньше). Это заставляет его следовать за файлом, который вы открыли, так же, как это tail -f <file>будет. Очень удобно, если вы просматриваете файлы журналов из приложения и, вероятно, захотите создать резервную копию страницы (например, если она генерирует сотни строк в журнале каждую секунду).


3
Следование с меньшими затратами намного полезнее, чем с хвостом. Особенно логи с большим количеством действий.
Свиш

6
@Svish Вы могли бы сказать lessбольше :)
Мартин Конечни

6
@MartinKonecny lessможет быть больше, но lessне moreговоря уже оmost
Санмигель

@sanmiguel Я не знал больше всего, попробовал и
боковой скролл

Я бы использовал less +F --follow-name some.file. +Fодин не работает для меня.
WesternGun

34

Дополнение к тому, что сказал @Juha: На самом -iделе с помощью SmartCasing включается без учета регистра, т. Е. Если ваш поиск содержит заглавную букву, то поиск будет чувствительным к регистру, в противном случае он будет без учета регистра. Думайте об этом как :set smartcaseв Vim.

Например: с -i, поиск 'log' в 'Log, ..' будет совпадать, тогда как 'Log' в 'log, ..' не будет совпадать.


17
На самом деле, если любая буква, а не только первая, является заглавной, поиск будет чувствительным к регистру. Важное отличие (и, как правило, то, как я это предпочитаю). Это также, как работает смарт-чехол Vim.
Йоханнес Хофф

В Vim вы также /\clogможете перейти к поиску без учета регистра.
Дарко Веберик

12

Похоже, что вы можете вызывать эту функцию для каждого поискового запроса следующим образом:

less prompt> /search string/-i

Эта опция находится в lessинтерактивной справке, к которой вы обращаетесь через h:

less prompt> h
...
  -i  ........  --ignore-case
                  Ignore case in searches that do not contain uppercase.
  -I  ........  --IGNORE-CASE
                  Ignore case in all searches.
...

Я не проверял подробно, но в справке по lessверсии 487 для MacOS и других дистрибутивов Linux эта опция доступна.

На MacOS вы также можете установить более новую версию lessчерез brew:

$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017  Mark Nudelman

Ссылки


@IlikeSerena - это может быть проблема с конкретными версиями less.
СЛМ

@slm, на чем lessты это примерял ? Не работай над моим less 458 (GNU regular expressions)(aptitude говорит less 458-2FWIW)
hdl

@hdl - я не имею доступа к системе в настоящее время, но был на любой версии, lessкоторая включена с Fedora 19/20.
Slm

@slm Спасибо, вероятно, более поздняя версия, чем 458-2, такая как 458-6, так как эта конкретная версия была построена для Fedora 2014-02-10 в соответствии с koji.fedoraproject.org/koji/packageinfo?packageID=759 и с тех пор Вы опубликовали это 22 февраля '14 ...
HDL

Не работает на Mac с менее 487 (регулярные выражения POSIX)
Sumit Jain

11

При использовании флага -i обязательно вводите строку поиска полностью в нижнем регистре, потому что если любая буква является заглавной, то ее точное совпадение.

Смотрите также: -I (заглавная i) флаг less (1), чтобы изменить это поведение.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.