Command-Line

less -n 預設行為,與通過 man 指示的不一樣

  • January 21, 2022

對於 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

less以兩種方式顯示行號:

  • 在每行的開頭,如果-N使用;
  • 在螢幕底部的狀態行中,啟用詳細提示時(less -M; 這將顯示顯示的第一行的編號、顯示的最後一行以及總行數)。

-n禁用後者,以及前者。特別是,確定總行數可能會很昂貴。這就是該選項有用的原因。當使用 禁用行號時-nless以字節為單位顯示文件中的位置。

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

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

的行為-n在您顯示的資訊中進行了描述:

使用行號的意思是:在verbose提示和=命令中會顯示行號,v命令會將目前行號傳遞給編輯器

這沒有在每行的開頭提到行號。

引用自:https://unix.stackexchange.com/questions/687315