less -n 默认行为,与通过 man 指示的不同

less -n 默认行为,与通过 man 指示的不同

对于 MacOS 和 Ubuntu Server 20,使用命令man less我可以读取以下内容:

 -n or --line-numbers
              Suppresses line numbers.  The default (to use line numbers) may cause less to run more slowly in some cases, especially with a very large input file.  Suppressing line  numbers  with
              the  -n  option will avoid this problem.  Using line numbers means: the line number will be displayed in the verbose prompt and in the = command, and the v command will pass the cur‐
              rent line number to the editor (see also the discussion of LESSEDIT in PROMPTS below).

 -N or --LINE-NUMBERS
              Causes a line number to be displayed at the beginning of each line in the display.

这篇文章的原因是关于-n包含该部件的(小写)参数The default (to use line numbers)。对于提到的两个操作系统,如果我这样做的话:

  • less /path/to/filename.txt

它显示没有行号的数据,与所示相反多于。

当然,如果我想查看我使用的行号:

  • less -N /path/to/filename.txt

它按指示工作。所以:

less    /path/to/filename.txt
less -n /path/to/filename.txt

几乎是一样的。

我错过了什么吗?

顺便说一句,与less --help

-n  -N  ....  --line-numbers  --LINE-NUMBERS
                  Don't use line numbers.

不是很清楚,很混乱。

由于以下有价值的帖子,我创建了这篇文章:

解决方案中指出:

You can, however, run "less -n +F", which causes "less" to read 
only the end of the file, at the cost of **not** displaying line numbers

答案1

less以两种方式显示行号:

  • 在每行的开头,-N使用 if ;
  • 当启用详细提示时,屏幕底部的状态行中(less -M;这将显示显示的第一行、最后一行以及总行数)。

-n禁用后者以及前者。特别是,确定总行数可能会很昂贵;这就是该选项有用的原因。当使用 禁用行号时-nless显示文件中的位置(以字节为单位)。

我的版本less有以下内容less --help

  -n  ........  --line-numbers
                  Don't use line numbers.
  -N  ........  --LINE-NUMBERS
                  Use line numbers.

-n您显示的信息中描述了的行为:

使用行号的意思是:行号将显示在详细提示符和 = 命令中,而 v 命令会将当前行号传递给编辑器

这没有提到每行开头的行号。

相关内容