在Unix中使用Less到特定的行号

我有一个大约有一百万行的文件。我需要去320123号行查看数据。我怎么做呢?

321037 次浏览

n是行号:

  • ng:跳转到第n行。默认是文件的开始。
  • nG:跳转到第n行。默认值是文件的结束。

所以要转到第320123行,你需要输入320123g

直接从维基百科复制粘贴。

你也可以使用sed

sed -n '320123'p filename

这将打印行号320123

如果你想要一个范围,你可以

sed -n '320123,320150'p filename

如果你想从某一行到最后一行,那么

sed -n '320123,$'p filename

对于编辑,可以从命令行在nano中通过+n进行编辑,例如:

nano +16 file.txt

file.txt打开到第16行。

要直接从命令行打开特定的行,使用:

less +320123 filename

如果你也想看行号:

less +320123 -N filename

您还可以选择在终端的特定行上显示文件的特定行,以便在需要几行上下文时使用。例如,这将打开终端第10行320123行的文件:

less +320123 -j 10 filename

从less(在Linux中):

 g and the line number to go forward


G and the line number to go backwards

单独使用时,g和g将分别带您到文件的第一行和最后一行;与数字一起使用时,它们都是等效的。

一个例子;你要转到文件的320123行,

按“g”,在冒号后面输入数字320123

此外,您可以在less中键入'-N'来激活/禁用行号。实际上,您可以从程序内部传递任何命令行开关,例如-j或-N。

注意:你可以在命令行中提供行号来启动less (less +number -N),这将比在程序内部执行要快得多:

less +12345 -N /var/log/hugelogfile

这将打开一个文件,显示行号并从行12345开始

来源:man 1少,内置帮助少(少418)