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

Sto*_*ole 329 unix shell search less-unix

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

n1r*_*1r3 459

随着n作为行号:

  • ng:跳转到行号n.默认值是文件的开头.
  • nG:跳转到行号n.默认值是文件的结尾.

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

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

  • ...并且不要在 `g` 之后按 Enter 键,否则您将再跳一行。 (8认同)
  • @Wimateeka,您应该在“less”而不是 shell 中输入这些命令。首先打开文件“less file.txt”,然后输入命令“9581553g” (4认同)

Ian*_*non 197

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

less +320123 filename
Run Code Online (Sandbox Code Playgroud)

如果你想看到行号:

less +320123 -N filename
Run Code Online (Sandbox Code Playgroud)

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

less +320123 -j 10 filename
Run Code Online (Sandbox Code Playgroud)


jay*_*ngh 58

你也可以用sed它 -

sed -n '320123'p filename 
Run Code Online (Sandbox Code Playgroud)

这将打印行号320123.

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

sed -n '320123,320150'p filename 
Run Code Online (Sandbox Code Playgroud)

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

sed -n '320123,$'p filename 
Run Code Online (Sandbox Code Playgroud)


run*_*el0 34

从少到少(在Linux中):

 g and the line number to go forward

 G and the line number to go backwards
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

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

less +12345 -N /var/log/hugelogfile
Run Code Online (Sandbox Code Playgroud)

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

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

  • 有趣的是,谷歌决定在谷歌搜索时选择部分答案作为其显示的答案:“少下线”(一个很好的答案imo) (2认同)

dje*_*lin 5

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

nano +16 file.txt

开通file.txt至16号线。