Regular-Expression

在“less”中使用正則表達式

  • April 11, 2019

我正在嘗試通過使用在 Bash 的手冊頁中使用正則表達式less

我按/inless輸入模式,然後鍵入z並按Enter。我希望它與大寫字母z( Z) 不匹配,但確實如此。

我如何使它不匹配Z?這些不區分大小寫的正則表達式是什麼?

手冊頁中對此進行了解釋less

RE 的預設操作是在不存在大寫字元時忽略大小寫,否則會區分大小寫。

內提供三種模式less

  1. 大小寫上下文相關:沒有大寫字元的搜尋或 RE 被認為是不區分大小寫的,但包含至少一個大寫字元的搜尋或 RE 被認為是區分大小寫的。範例:abc將匹配abcand aBC,但aBc只會匹配aBcand 不匹配abcor ABC。這是預設設置。
  2. 區分大小寫:搜尋或 RE 充分考慮任何字母的大小寫。範例:abC將只匹配abC而不匹配abcor ABC
  3. 不區分大小寫:搜尋或 RE 不考慮任何字母的大小寫。範例:abC將匹配abcabC或中的任何一個ABC

您可以使用 切換區分大小寫的比較-I,以及使用 切換區分大小寫的上下文比較-i

可以通過三種方式指定控制項:

  • 在命令行上,例如less -I bigfile.txt.
  • 在環境中,例如export LESS=-i和以後less bigfile.txt
  • less自身內部,例如通過啟動less bigfile.txt然後鍵入-i.

很確定你可以通過使用-ior來解決這個+i問題,以便將 less 設置為預設值。

引用自:https://unix.stackexchange.com/questions/511736