less始终不区分大小写


21

我试图在serverfault上less找到不区分大小写的搜索的方法。

这似乎完全可以回答我的问题。问题是:它在这里不起作用(openSUSE 13.1;少了458)。

我已经别名less为,less -WiNS但是我改变了它。但是,即使称它command less file也不会改变任何东西。我已经检查了命令行中ps是否没有-i选项。

作为回答说,less帮助(按下h)规定,我可以使用-iless了。如果我使用过一次,则less告诉我它已更改为不区分大小写的搜索(这是正确的:没有任何变化)。如果我使用它两次,则会less告诉我它已转向区分大小写的搜索。正确,然后它从一开始就应该工作。但是-i,在命令行上两次输入均无效。

怎么了


1
GNU less对于我来说不是这样(即默认情况下区分大小写)。您确定它没有别名吗?您使用哪些选项ps进行检查?
goldilocks 2014年

1
嗯 从来没有注意到这一点,但你是绝对正确的。搜索FOO的发现只是FOO,但搜索foo的发现fooFOO。即使-i-WiNS
slm

@goldilocks有了psno(command less)选项,-WNS所以我很确定这不是ps隐藏-i/ 的问题-Iless似乎甚至没有可能在此处进行干预的配置文件。
Hauke Laging

@slm“即使带有-i”也很有趣,因为-i它应该正是这样做的。有趣的问题是:您的匹配FOO是否foo 没有 -i
Hauke Laging

不,它以另一种方式起作用。FOO只匹配FOO。对我来说似乎是个虫子。
slm

Answers:


32

我不确定如何从命令行启用此功能,但是当您在其中时,less可以通过将-i命令提供给来切换所需的行为less

切换 -i

      SS#1        SS#2

寻找/blah/BLAH

      SS#3       SS#4

寻找 /Blah

      SS#5

显然,您也可以按需召唤此模式,方法是在搜索后加上-i

less prompt> /search string/-i

参考文献


这对我也适用,但我必须输入两次。我想我会为openSUSE写一个错误报告。
Hauke Laging

@HaukeLaging-如果退出并再次进入,它似乎保留为默认设置,您可以确认该行为吗?
slm

不,但是我发现了一些有趣的东西(尽管与该“错误”无关):-i即使搜索后也可以使用。然后,突出显示更改(如果它处于活动状态)。
Hauke Laging

@HaukeLaging-啊,就是这样。因此,与其他工具相比,该符号有点奇怪。/search string/-i
slm

1
less 487 (GNU regular expressions)从(Ubuntu 18.04起)后缀似乎不起作用
Ruslan

5

手册(对于我的less444版)说:

      Options are also taken from the environment variable "LESS".  For exam‐
   ple, to avoid typing "less -options ..." each time less is invoked, you
   might tell csh:

   setenv LESS "-options"

   or if you use sh:

   LESS="-options"; export LESS

   On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.
       On  MS-DOS,  you don't need the quotes, but you should replace any per‐
   cent signs in the options string by double percent signs.

   The environment variable is parsed before the command line, so  command
   line  options  override  the  LESS  environment variable.  If an option
   appears in the LESS variable, it can be reset to its default  value  on
   the command line by beginning the command line option with "-+".

因此,我将检查环境变量LESS是否可能设置在您的外壳“点文件”中的某个位置。另外,less -+i应将重置-i为默认值(区分大小写)。如果这为您恢复了区分大小写的功能,则可以alias less=less -+i与一起使用alias lessi=less -i


0

您可以通过-i选项来减少开头并忽略大小写。除非搜索字符串具有大写字母,否则将忽略大小写。以下是来自Ubuntu帮助页面的摘要:

   -i or --ignore-case
          Causes searches to ignore case; that is, uppercase  and  lowercase  are  considered
          identical.   This  option  is ignored if any uppercase letters appear in the search
          pattern; in other words, if a pattern contains uppercase letters, then that  search
          does not ignore case.

   -I or --IGNORE-CASE
          Like -i, but searches ignore case even if the pattern contains uppercase letters.

其他版本的less可能对-i的解释会有所不同。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.