Regular-Expression
在“less”中使用正則表達式
我正在嘗試通過使用在 Bash 的手冊頁中使用正則表達式
less
。我按
/
inless
輸入模式,然後鍵入z
並按Enter
。我希望它與大寫字母z
(Z
) 不匹配,但確實如此。我如何使它不匹配
Z
?這些不區分大小寫的正則表達式是什麼?
手冊頁中對此進行了解釋
less
。RE 的預設操作是在不存在大寫字元時忽略大小寫,否則會區分大小寫。
內提供三種模式
less
:
- 大小寫上下文相關:沒有大寫字元的搜尋或 RE 被認為是不區分大小寫的,但包含至少一個大寫字元的搜尋或 RE 被認為是區分大小寫的。範例:
abc
將匹配abc
andaBC
,但aBc
只會匹配aBc
and 不匹配abc
orABC
。這是預設設置。- 區分大小寫:搜尋或 RE 充分考慮任何字母的大小寫。範例:
abC
將只匹配abC
而不匹配abc
orABC
。- 不區分大小寫:搜尋或 RE 不考慮任何字母的大小寫。範例:
abC
將匹配abc
、abC
或中的任何一個ABC
。您可以使用 切換區分大小寫的比較
-I
,以及使用 切換區分大小寫的上下文比較-i
。可以通過三種方式指定控制項:
- 在命令行上,例如
less -I bigfile.txt
.- 在環境中,例如
export LESS=-i
和以後less bigfile.txt
。- 在
less
自身內部,例如通過啟動less bigfile.txt
然後鍵入-i
.
很確定你可以通過使用
-i
or來解決這個+i
問題,以便將 less 設置為預設值。