如何以“较少”(GNU)显示行号


659

在左栏中减少显示行号的命令是什么?


80
less是Linux命令行实用程序,程序员非常常使用它来查看文本文件。就“程序员使用的工具”而言,这个问题确实是Stack Overflow的话题,就像所有与使用有关的问题git都是话题一样。在搜索“少显示行号”时,它也是Google中的首个热门产品。这个问题不应该被解决。
John Dibling 2013年

5
@JohnDibling这个问题更适合Unix&Linux Stack Exchange。仅仅因为less被程序员使用而不能成为主题。铅笔也是“程序员使用的工具”,但是此处关于如何削铅笔的问题并不适合。
augurar 2015年

17
@augurar我想你不要知道,这里的工具是指软件工具。您是故意在上下文之外解释工具的含义。顺便说一句,我也认为这个问题适用于Unix&Linux Stack Exchange,但是它并不能阻止这个问题出现在SO :)
Gab是好人2016年

Answers:


978

手册

-N或--LINE-NUMBERS使行号显示在显示屏中每行的开头。

您也可以通过键入来切换行号而不会少退出-N

可以通过这种方式切换less的任何命令行选项。


6
当我减去一个大文件,然后在底部减少“ G”时,即使它没有显示行号,它也会显示“正在计算行号...(中断中止)”。我想知道如何找出我所在的行,而无需退出并使用-N重新启动。我正在受罚。奖励在哪里?
2009年

93
哇,我已经看了几十遍了,希望能找到答案。我一直忽略了“-<flag>切换命令行选项[请参见下面的选项]”。...这意味着您可以输入更少的“ -N”。我已经为此困扰了大约十年。美好时光!
2009年

2
可以用不同的颜色显示行号吗?
greg

3
嗨@greg,您可以使用sed上色行号和选项-Rless显示颜色:cat -n file.txt | sed 's/^[ 0-9]*[0-9]/\o033[34m&\o033[0m/' | less -R 您也可以自定义LESSOPEN...干杯;)
olibre 2013年

1
如果您要切换,请按ENTER / RETURN。在使用更少的情况下键入-n或-N之后,您可能还需要随后点击以使更改生效。它甚至在底部这样说,但是我的大脑没有连接点,因为我认为它是瞬时的,所以我一直键入-N并想知道为什么数字永远不会出现。
abelito

146

您还可以按打开时按=less以仅显示(在屏幕底部)有关当前屏幕的信息,包括行号,格式如下:

myfile.txt lines 20530-20585/1816468 byte 1098945/116097872 1%  (press RETURN)

因此,例如,在此屏幕上当前显示的是lines 20530-20585,而文件总共有1816468几行。


44

您可以在传递至cat -n之前过滤文件less

cat -n file.txt | less

或者,如果您的less支持版本,则-N选择:

less -N file.txt

4
您知道不支持哪个版本的不支持它?
亚伦·霍尔

我通常使用nl代替cat -n
ychaouche

32

您可以设置一个环境变量,使这些选项始终适用于所有欠文件:

export LESS='-RS#3NM~g'

2
线alias less="LESS='-RS#3NM~g' less".bashrc做我的天!谢谢!
陪审团

4
这种咒语的解释将非常受欢迎:)
minexew

3
选项包括:R =更好地处理文件中的原始颜色代码。S =在屏幕上滚动长行,而不是自动换行。#3 =一次左右滚动3个位置。N =显示行号。M =较长的提示。〜=在文件以〜结尾后不显示空白,而对空白不显示任何内容。g =使用“ g”进行搜索时,仅突出显示当前匹配项而不是所有匹配项。
布莱恩

17

命令行标记-N--LINE-NUMBERS使行号显示在显示屏中每行的开头。

您也可以less通过键入来切换行号而无需退出-N<return>。可以通过less这种方式切换任何的命令行选项。


1
传递-N或--LINE-NUMBERS仅在CentOS 5.3中显示我的日期。但是,在较少启动后使用-N可以正常工作。
Mike Miller 2010年

15

如果您点击=并希望看到行号,但只看到字节数,则行号将被关闭。点击-n以将其打开,并确保其中$LESS不包含“ n”。

默认情况下关闭行号(例如,设置LESS=n)可以加快非常大文件的搜索速度。如果您经常搜索大文件,这很方便,但是通常不必关心您在哪一行。

我通常使用LESS=RSXin(启用转义码,切掉长行,退出时不清除屏幕,在所有小写搜索中忽略大小写,并且默认情况下不计算行号),仅在需要时使用-n-S从内部less进行操作。

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.