使用Unix中的Less来转到特定的行号

时间:2011-12-21 08:04:01

标签: shell unix search less-unix

我有一个大约有一百万行的文件。我需要转到第320123行来检查数据。我该怎么做?

5 个答案:

答案 0 :(得分:432)

n是行号:

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

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

直接从Wikipedia复制粘贴。

答案 1 :(得分:180)

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

less +320123 filename

如果您想查看行号:

less +320123 -N filename

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

less +320123 -j 10 filename

答案 2 :(得分:56)

您也可以使用sed -

sed -n '320123'p filename 

这将打印行号 320123

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

sed -n '320123,320150'p filename 

如果你想从特定的行到最后那么 -

sed -n '320123,$'p filename 

答案 3 :(得分:29)

从less(在Linux中):

 g and the line number to go forward

 G and the line number to go backwards

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

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

  

按' g'并在冒号后输入数字320123

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

注意:您可以在命令行中提供行号以减少(减去+数量-N),这比在程序内部执行速度快得多:

less +12345 -N /var/log/hugelogfile

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

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

答案 4 :(得分:4)

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

nano +16 file.txt

file.txt打开到第16行。