web-dev-qa-db-ja.com

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

Linuxでlessを実行しようとしています。起動直後に何かを検索したいのですが。

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

$ less

次に、'/'を押し、"^commit \w+$"のような検索パターンを入力し、Enterキーを押し、'n'を押して後続の各結果を検索します。

起動を少なくして、パターンを検索します。マニュアルページにはパターンから始めることについては何も書かれていないようですが、おそらくVimのようなコマンドを送ることができます。

14
Neil

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)を使用して期待どおりに機能します。

8
goldPseudo

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

less +/pattern

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

17

これを行うには、実際には2つの方法があります。他の皆が述べたように、あなたは-p/--patternオプション:

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

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

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

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

2番目の方法には、明確な利点が1つあります。これは、ページ分割に使用する他のコマンドとともに使用できます!:

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

これは文字通り拡張して、bashのmanページですべての組み込みコマンドを検索できます。私はある日少し夢中になりました bashビルトイン用の「修正済み」の人

4
Adam Stewart

どういう意味?

less -pPATTERNファイル名

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

4
nik

少ないマンページには確かに何かがあります。

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

less -p<pattern>

または

less --pattern=<patern>
3
slubman

もう1つのオプションは、lessを実行するときに、&と目的のpatternを入力することです。

この方法でonly関心のあるpatternを含む行を取得できますnotすべての行。 意味は一致する行のみを示します

&/ <pattern_of_interest>
0
Dan Art