Як запустити "менше" і чи автоматично він запускає шаблон пошуку?


14

Я намагаюся запустити lessв Linux, і я хочу, щоб він шукав щось відразу після запуску.

Це в основному так:

$ less

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

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


1
Дивовижно, помістіть це у свою конфігурацію git: 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(як розміщено nik) еквівалентно +/PATTERN.


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

4

Ви маєте на увазі, як?

менше -p Ім'я файлу PATTERN

Це в посібнику.


4

Насправді це можна зробити двома способами. Як усі інші згадували, ви можете використовувати -p/ --patternoptions:

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

Ваш шаблон повинен бути загорнутий у лапки, оскільки він містить пробіл.

Однак насправді є другий спосіб зробити це:

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

Другий спосіб має одну виразну перевагу. Його можна використовувати з іншими командами, які використовують менше для пагинації !:

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

Це можна буквально розширити для пошуку сторінки bash man для всіх вбудованих команд. Я одного дня трохи захопився і "зафіксував" людину за башти .


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.