427

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

4

5 回答 5

591

作为n行号:

  • ng: 跳转到第 n 行。默认是文件的开头。
  • nG: 跳转到第 n 行。默认是文件的结尾。

因此,要转到第 320123 行,您需要输入320123g.

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

于 2011-12-21T08:08:03.067 回答
252

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

less +320123 filename

如果您也想查看行号:

less +320123 -N filename

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

less +320123 -j 10 filename
于 2014-03-06T11:02:17.043 回答
67

你也可以用sed这个——

sed -n '320123'p filename 

这将打印行号320123

如果你想要一个范围,那么你可以做 -

sed -n '320123,320150'p filename 

如果您想从特定行到最后 -

sed -n '320123,$'p filename 
于 2011-12-21T08:32:15.687 回答
45

从 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 less 和内置帮助 in less (less 418)

于 2014-03-28T12:31:35.027 回答
5

对于编辑,这可以nano通过+n命令行进行,例如,

nano +16 file.txt

file.txt到16号线。

于 2013-06-12T20:49:55.100 回答