如何使用较少的模式修饰符进行不区分大小写的搜索?

时间:2008-08-19 20:00:34

标签: unix search case-insensitive less-unix

似乎唯一的方法是在最初运行较少时传递-i参数。有没有人知道做一些类似这项工作的秘密黑客

/something to search for/i

5 个答案:

答案 0 :(得分:413)

您可以在less运行时输入命令-I。它会切换搜索的区分大小写。

答案 1 :(得分:97)

您还可以设置环境变量LESS

我使用LESS=-Ri,以便我可以将grep的彩色输出泵入其中,并维护ANSI颜色序列。

我发现的另一个较少使用的功能是以+F作为参数启动它(或者在更少的时候点击 SHIFT + F )。这会导致它跟随您打开的文件,就像tail -f <file>一样。如果您正在查看来自应用程序的日志文件,并且可能想要页面备份(例如,如果它每秒生成100行记录,则非常方便)。

答案 2 :(得分:30)

@Juha所说的附加组件:实际上-i使用SmartCasing打开不区分大小写,即如果您的搜索包含大写字母,那么搜索将区分大小写,否则将是大小写不敏感的。在Vim中将其视为:set smartcase

例如:-i,在'Log,..'中搜索'log'将匹配,而'log,..'中的'Log'将不匹配。

答案 3 :(得分:11)

使用-i标志时,请确保以小写字母完全输入搜索字符串,因为如果任何字母大写,则其完全匹配。

另请参阅:更少(1)的-I(大写i)标志以更改此行为。

答案 4 :(得分:11)

您似乎可以在每次搜索的基础上召唤此功能,如下所示:

less prompt> /search string/-i

此选项位于less的互动式帮助中,您可以通过h访问:

less prompt> h
...
  -i  ........  --ignore-case
                  Ignore case in searches that do not contain uppercase.
  -I  ........  --IGNORE-CASE
                  Ignore case in all searches.
...

我没有进行过广泛检查,但MacOS上的less版本487以及其他Linux发行版中的帮助将此选项列为可用。

在MacOS上,您还可以通过less安装较新版本的brew

$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017  Mark Nudelman

参考