我只是想通过一个$
以less开头的搜索模式:
less +/'\$l' myfile.pl
我得到了
There is no -l option ("less --help" for help)
阅读手册后,我尝试了替代-p
-option
less -p'\$l' myfile.pl
并得到了相同的错误。
然后我发现,(在后面的空格处-p
)
less -p '\$l' myfile.pl
起作用,即打开文件而没有错误消息,并跳转到的第一次出现$l
。
长选项变体--pattern=$l
不起作用
less --pattern='\$l' myfile.pl
There is no -l option ("less --help" for help)
而空间而不是=
作品
less --pattern '\$l' myfile.pl
这是
less -V
less 458 (POSIX regular expressions)
Copyright (C) 1984-2012 Mark Nudelman
在openSUSE Leap 42.3上
现在的问题是:这是一个错误吗?
这是由功能引起的。来自man less
:
某些选项(例如-k或-D)需要在选项字母后跟一个字符串。当找到美元符号($)时,该选项的字符串被视为结束。例如,您可以像这样在MS-DOS上设置两个-D选项:
LESS="Dn9.1$Ds4.1"
因此,您可以执行以下操作:
LESS='ppattern$i' PAGER=less man less
首先less
,pattern
不区分大小写地查找。
现在,尽管对$LESS
变量有意义,但对命令行中的选项参数却毫无意义。这样,它可能被视为您可能要报告的错误。
还要注意的是,$
只有$
在与包含解释该-p '\$l'
vs-p'\$l'
和--pattern '\$l'
vs之间的差异的选项的同一个参数中进行处理时,才会进行处理,--pattern='\$l'
并且有更多的理由将其视为错误。
请注意,您还将遇到以下问题:
less -p' foo'
在哪里less
寻找"foo"
而不是" foo"
(再次使用-p ' foo'
)。有关详细信息,请参见源代码中的scan_option()
函数options.c
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句