web-dev-qa-db-ja.com

「less」で正規表現を使用する

lessを使用して、Bashのmanページで正規表現を使用しようとしています。

押す /lessにパターンを入力し、zと入力して、 Enter。大文字のzZ)と一致しないと思っていましたが、一致します。

Zと一致しないようにするにはどうすればよいですか?大文字と小文字を区別しないこれらの正規表現はどのようなものですか?

4
regex

lessのマニュアルページで説明されています。

REのデフォルトのアクションは、大文字が存在しない場合は大文字と小文字を無視し、それ以外の場合は大文字と小文字を区別して動作します。

less内で使用できるモードは3つあります。

  1. 大文字と小文字のコンテキストに依存:大文字を含まない検索またはREは大文字と小文字を区別しないと見なされますが、少なくとも1つの大文字を含む検索またはREは大文字と小文字を区別すると見なされます。例:abcabcaBCに一致しますが、aBcaBcにのみ一致し、abcまたはABCには一致しません。これがデフォルト設定です。
  2. 大文字と小文字を区別:検索またはREは、文字の大文字と小文字を完全に考慮します。例:abCabCのみに一致し、abcまたはABCには一致しません。
  3. 大文字と小文字を区別しない:検索またはREは、文字の大文字と小文字を区別しません。例:abCは、abcabC、またはABCのいずれかに一致します。

大文字と小文字を区別する比較は-Iで、大文字と小文字を区別する比較は-iで切り替えることができます。

コントロールは、次の3つの方法で指定できます。

  • コマンドラインで、たとえばless -I bigfile.txt
  • 環境では、たとえばexport LESS=-i以降はless bigfile.txtです。
  • less自体の中で、たとえばless bigfile.txtを開始し、次に-iと入力します。
1
roaima

Lessをデフォルトに設定するために-iまたは+iを使用することで、これを回避できることは間違いありません。

3
6d6d