Как вы запускаете `less`, и он автоматически запускает шаблон поиска?


14

Я пытаюсь запустить lessLinux и хочу, чтобы он что-то искал сразу после запуска.

Это в основном похоже на это:

$ less

Затем нажмите '/', введите шаблон поиска как "^commit \w+$", затем нажмите ввод и нажмите, 'n'чтобы найти каждый последующий результат.

Я бы хотел, чтобы меньше было запущено, а потом искать шаблон. Похоже, что на странице руководства ничего не написано о начале работы с шаблоном, но, возможно, вы можете отправить ему такие команды, как Vim.


1
Круто, вставьте это в свой git config: core.pager = less -cFRX --pattern='^commit'и вы сможете сразу перейти к следующему коммиту с клавишей 'n'.
Нил

Ответы:


8

Со manстраницы:

   -ppattern or --pattern=pattern
          The  -p  option  on the command line is equivalent to specifying
          +/pattern; that is, it tells less to start at the  first  occur-
          rence of pattern in the file.

Это работает, как и ожидалось, используя последнюю версию less( 436 ).


17

Вы можете использовать + для отправки произвольных команд. Например:

less +/pattern

-p PATTERN(как размещено ник) эквивалентно +/PATTERN.


2
Я предпочитаю этот ответ, потому что он более полный. Опция +/patternэквивалентна --pattern=pattern, но она может сделать больше, например, начать меньше в конце файла less +G. +Опция дает вам все , что -p|--patternделает плюс целый набор других команд для запуска меньше, так что я говорю не беспокоить запоминания -pи просто использовать +/для поиска так же , как вы бы изнутри меньше.
DrStrangepork

4

Вы имеете в виду как?

менее -p PATTERN имя файла

Это в руководстве.


4

На самом деле есть два способа сделать это. Как и все остальные, вы можете использовать опции -p/ --pattern:

less -p<pattern>
less --pattern=<pattern>

Ваш шаблон должен быть заключен в кавычки, так как он содержит пробел.

Однако на самом деле есть второй способ сделать это:

LESS=-p<pattern> less
LESS=--pattern=<pattern> less

Второй метод имеет одно явное преимущество. Его можно использовать с другими командами, которые используют меньше для разбиения на страницы !:

LESS=-p"^       read \[" man bash

Это может быть буквально расширено для поиска в man-странице bash всех встроенных команд. Однажды я немного увлекся и « привел в порядок» человека для встроенных команд .


3

В менее справочной странице действительно есть что-то.

Вы можете попробовать:

less -p<pattern>

или

less --pattern=<patern>

0

Другой вариант заключается в том, что при запуске lessтогда введите &и patternинтересующий вас.

Таким образом, вы можете получить только те строки, которые вас patternинтересуют, а не все линии. Значение показывает только совпадающие строки .

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