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

StackOverflow https://stackoverflow.com/questions/16828

Вопрос

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

/something to search for/i
Это было полезно?

Решение

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

Другие советы

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

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

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

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

Например.:с -i, поиск «журнала» в «Журнале,..» будет соответствовать, тогда как «Журнал» в «журнале,..» не будет соответствовать.

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

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

Рекомендации

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top