Linux less工具使用-i参数无法实现不区分大小写搜索的问题
less搜索不区分大小写失效的原因及解决办法
问题核心是搜索参数的位置错误,less交互式搜索的参数不能跟在搜索字符串后面,具体原因和解决方式如下:
- 你执行的
?cm02csdate -i中,-i被当作搜索字符串的一部分,less实际在查找包含cm02csdate -i的行,而非开启不区分大小写模式搜索cm02csdate,自然匹配不到目标内容。 - 而
?CM02CSDATE是精确匹配大写形式的字符串,所以能找到对应内容。
正确用法
- 将
-i参数放在搜索模式前:
此时less会开启不区分大小写模式,匹配所有大小写形式的?-i cm02csdatecm02csdate。 - 全局开启不区分大小写搜索:
在less交互界面直接输入-i并回车,之后所有搜索默认不区分大小写,再执行?cm02csdate即可匹配。 - 启动less时直接指定参数:
整个会话内的搜索都会默认不区分大小写。less -i 目标文件名
补充:less的man手册提到,
-i参数开启不区分大小写搜索,但如果搜索模式本身包含大写字母,会自动切换回区分大小写模式;若要强制完全不区分大小写,可使用-I参数(用法和-i一致)。
内容的提问来源于stack exchange,提问作者user1169587
相关产品推荐
相关产品推荐

