どのようにして「less」を実行し、検索パターンを自動的に実行しますか?


14

lessLinuxで実行しようとしていますが、起動後すぐに何かを検索したいです。

基本的にこれを行うようなものです:

$ less

次に、を押して'/'、などの検索パターンを"^commit \w+$"入力し、Enterを押して'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.

これは、最新バージョンのless436)を使用して期待どおりに機能します。


17

+を使用して、任意のコマンドを送信できます。例えば:

less +/pattern

-p PATTERN(nikによる投稿)はと同等+/PATTERNです。


2
より完全であるため、私はこの答えを好みます。このオプション+/patternはに相当しますが--pattern=pattern、ファイルの終わりで開始を少なくするなど、より多くのことができますless +G。この+オプションを使用すると、すべて-p|--patternが実行され、他のコマンドのセット全体がより少なく実行されるので、気にする必要はなく、lessの内部から行う場合-pと同じよう+/に検索するだけです。
DrStrangepork

4

どういう意味?

less -pパターンのファイル名

それはマニュアルにあります。


4

これを行うには、実際には2つの方法があります。他の皆が言ったように、-p/ --patternオプションを使用できます:

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

パターンにはスペースが含まれているため、引用符で囲む必要があります。

ただし、実際にはこれを行う2番目の方法があります。

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

2番目の方法には1つの明確な利点があります。ページネーションにlessを使用する他のコマンドで使用できます!:

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

これは、文字通りbashのマニュアルページですべての組み込みコマンドを検索するように拡張できます。ある日、少し持ちこたえて、bashビルトインの「固定」男になりました


3

実際、以下のマンページには問題があります。

あなたが試すことができます:

less -p<pattern>

または

less --pattern=<patern>

0

別のオプションは、あなたが実行したときにということでless、次に入力する&pattern、あなたの興味の。

この方法では、すべての行ではなく、目的の行のみを取得できます。意味は、一致する行のみを示しますpattern

&/ <pattern_of_interest>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.