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

mk.*_*mk. 294 unix search case-insensitive less-unix

看起来这样做的唯一方法是在最初运行较少时传递-i参数.有谁知道一些秘密黑客来做这样的工作

/something to search for/i
Run Code Online (Sandbox Code Playgroud)

Juh*_*älä 429

您也可以-I在less运行时键入command .它会切换搜索的区分大小写.

  • -i表示在不包含大写的搜索中忽略大小写,而-I忽略所有搜索中的大小写. (44认同)
  • "在不包含大写的搜索中忽略大小写"在vim和ack中称为"智能案例".在这里添加这可用于googlability. (13认同)
  • @HelloGoodbye你不“运行命令”只是输入它,我也对措辞感到困惑。 (3认同)
  • `-I` 就像字面上输入 `-I` 一样,开放程度较低。 (2认同)

san*_*uel 103

您还可以设置环境变量 LESS

我使用LESS=-Ri,以便我可以将彩色输出泵grep入其中,并保持ANSI颜色序列.

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

  • @Svish你可以说`less`更多:) (6认同)
  • @MartinKonecny`more`可能更多,但是`less`不是[`more`](https://en.wikipedia.org/wiki/More_(command))更不用说[`most`](https:// en.wikipedia.org/wiki/Most_(Unix)) (6认同)
  • “少”比“多”多,“大多数”比“少”多 | “less”就是更多,但是“more”比“more”更多,所以“more”就是更少的“less”,所以如果你想要更少的“more”,就使用更多的“less”。 (4认同)
  • 使用较少的东西比使用尾巴更有用.特别是有很多动作的日志. (2认同)

Ant*_*mas 31

附加到@Juha所说的内容:实际上-i使用SmartCasing打开不区分大小写,即如果您的搜索包含大写字母,则搜索将区分大小写,否则,它将不区分大小写.把它想象成:set smartcaseVim.

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

  • 实际上,如果*any*字母,而不仅仅是第一个字母,是大写的,搜索将是case sensitivite.一个重要的区别(并且具体地指出我喜欢它的方式).这也是vim智能手机的工作原理. (17认同)

slm*_*slm 12

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

less prompt> /search string/-i
Run Code Online (Sandbox Code Playgroud)

此选项位于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.
...
Run Code Online (Sandbox Code Playgroud)

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

在MacOS上,您还可以安装较新版本的lessvia brew:

$ brew install less
$ less --version
less 530 (POSIX regular expressions)
Copyright (C) 1984-2017  Mark Nudelman
Run Code Online (Sandbox Code Playgroud)

参考

  • 这似乎不适用于我的Ubuntu. (2认同)

小智 11

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

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