如何使用 less 使用模式修饰符进行不区分大小写的搜索?
-
08-06-2019 - |
题
似乎执行此操作的唯一方法是在最初运行 less 时传递 -i 参数。有谁知道一些秘密黑客可以让这样的事情发挥作用
/something to search for/i
解决方案
您也可以输入命令 -I
而较少正在运行。它切换搜索的大小写敏感性。
其他提示
还可以设置环境变量 LESS
我用 LESS=-Ri
, ,这样我就可以从 grep
进入其中,并维护 ANSI 颜色序列。
我发现 less 的另一个很少使用的功能是以 +F
作为一个论点(或击中 转移+F 而少)。这会导致它跟随您打开的文件,就像 tail -f <file>
将要。如果您正在从应用程序中查看日志文件,并且可能想要进行分页备份(例如,如果每秒生成 100 行日志记录),则非常方便。
补充一下@Juha所说的:实际上 -i
使用 SmartCasing 打开不区分大小写,即如果您的搜索包含大写字母,则搜索将区分大小写,否则将不区分大小写。把它想象成 :set smartcase
在维姆中。
例如。:和 -i
, ,在“Log,..”中搜索“log”将匹配,而在“log,..”中搜索“Log”将不匹配。
看来您可以在每次搜索的基础上调用此功能,如下所示:
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.
...
我没有广泛检查,但有帮助 less
MacOS 以及其他 Linux 发行版上的版本 487 将此选项列为可用。
在 MacOS 上,您还可以安装更新版本的 less
通过 brew
:
$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017 Mark Nudelman
参考
使用 -i 标志时,请确保完全以小写形式输入搜索字符串,因为如果任何字母为大写,则它是完全匹配的。
也可以看看:less(1) 的 -I(大写 i)标志可以更改此行为。
不隶属于 StackOverflow