在“less”中使用正则表达式

reg*_*gex 5 less regular-expression case-sensitivity

我正在尝试在 Bash 的手册页中使用正则表达式,方法是使用less.

我按/inless输入一个模式,然后键入z并按Enter。我预计它不会匹配大写字母z( Z),但确实如此。

我如何使它不匹配Z?这些不区分大小写的正则表达式是什么类型的?

roa*_*ima 3

它在 的手册页中进行了解释less

RE 的默认操作是如果不存在大写字符则忽略大小写,否则则区分大小写。

内有三种可用模式less

  1. 大小写上下文相关:没有大写字符的搜索或 RE 被视为不区分大小写,但包含至少一个大写字符的搜索或 RE 被视为区分大小写。示例:abc将匹配abcand aBC,但aBc仅匹配aBcand ,不匹配abcor ABC。这是默认设置。
  2. 区分大小写:搜索或 RE 会充分考虑任何字母的大小写。示例:abC仅匹配abC且不匹配abcABC
  3. 不区分大小写:搜索或 RE 不考虑任何字母的大小写。示例:abC将匹配abcabC或 中的任何一个ABC

您可以使用 切换区分大小写的比较-I,以及使用 切换区分大小写上下文的比较-i

可以通过三种方式指定控件:

  • 在命令行上,例如less -I bigfile.txt
  • 在环境中,例如export LESS=-i和以后less bigfile.txt
  • less其内部,例如通过启动less bigfile.txt然后键入-i.