如何在'less'(GNU)中显示行号

使更少在左侧列中显示行号的命令是什么?

378886 次浏览

您可以在管道到less之前通过cat -n过滤文件:

cat -n file.txt | less

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

less -N file.txt

手册

-N或--LINE-NUMBERS导致在每个的开头显示一个行号显示中的行。

您还可以通过键入-N来切换行号而不退出。

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

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

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

命令行标志-N--LINE-NUMBERS导致在显示器中每一行的开头显示一个行号。

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

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

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

例如,在这里,屏幕当前显示第0行,文件总共有1816468行。

如果您点击=并希望看到行号,但只看到字节数,那么行号将被关闭。点击-n将它们打开,并确保$LESS不包含'n'。

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

我通常使用LESS=RSXin运行(启用转义码,长行剪切,退出时不清除屏幕,忽略所有小写搜索的大小写,默认情况下没有行数计数),并且只根据需要从less内部使用-n-s