🔍 Как искать в команде less

by itisgood

Команда less отлично подходит для просмотра содержимого текстового файла в терминале без загромождения экрана.

Если вы просматриваете большой файл и ищете в нем определенный текст, вам не нужно делать это вручную.

Вы можете выполнить поиск в команде less.

Сейчас я покажу вам, как это сделать.

Поиск при использовании команды less

Откройте файл для просмотра с помощью команды less.

Затем нажмите клавишу /, за которой следует шаблон, который вы хотите найти, и нажмите клавишу Enter.

Он начнет поиск вперед от вашего текущего местоположения и переместит вас к первому найденному совпадению. Совпавшие детали подсвечиваются.

Например введем /scanner:

  • Переход к следующему совпавшему образцу осуществляется нажатием клавиши n.
  • Вы можете вернуться к предыдущему совпадению, нажав клавишу N (shift+n).

Вы также можете перемещаться вверх и вниз по странице с помощью клавиш пробела и b.

Найденные детали, если таковые имеются, выделяются.

Если искомый образец не найден, внизу появится сообщение “Pattern not found (press RETURN)”.

Вы можете выполнить поиск в обратном направлении, используя ?pattern вместо /pattern. При этом поиск начнется в обратном направлении от текущего местоположения.

Выполним поиск без учета регистра в less

По умолчанию поиск в less чувствителен к регистру.

Чтобы запустить поиск без учета регистра, вы можете ввести следующее в представлении less:

-I

Вы можете использовать его перед началом поиска или во время поиска.

Работает он одинаково.

На самом деле, это переключает поиск с учетом регистра.

Нажмите ее снова, и поиск снова будет чувствителен к регистру.

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

Поэтому здесь лучше использовать I.

Если вы хотите, вы можете начать поиск без учета регистра с самого начала:

less -I filename
Вы можете выполнить инвертированный поиск с помощью /!pattern и искать строки, не соответствующие шаблону.

Как показать только совпадающие строки

Не хочется нажимать n или N, чтобы увидеть совпадающие шаблоны?
Вы можете показать только совпадающие строки, выполнив поиск с &pattern вместо /pattern.
Введем также scanner:
Для перемещения по строкам можно использовать клавишу со стрелкой.
Если вы посмотрите на нижнюю часть, то заметите, что там отображаются номера линий, и они не являются последовательными, так как вы видите только совпадающие линии.

Как начать поиск с помощью команды less

Да.
Вы можете начать поиск термина сразу после открытия файла с помощью команды less.
less -p pattern filename

Вы можете выполнить поиск без учета регистра, добавив параметр -I, как показано ниже:

less -Ip pattern filename
Обратите внимание, что порядок опций здесь имеет значение.

Приведенная выше команда не будет работать, если вы используете -pI.

Заключение

Поскольку less – это просто просмотрщик, вы не можете делать поиск-замену, как в Vim.

В less есть некоторые другие возможности поиска при просмотре содержимого.

Вы можете прочитать man-страницу для более подробной информации.

На мой взгляд, поиск в less при просмотре файла – это нормально.

Однако для серьезного поиска в тексте файла лучше использовать команду grep.

см. также:

 

You may also like

Leave a Comment