Shell 在Unix中使用Less转到特定行号
我有一个大约有一百万行的文件。我需要到320123行检查数据。怎么做?以Shell 在Unix中使用Less转到特定行号,shell,unix,search,less-unix,Shell,Unix,Search,Less Unix,我有一个大约有一百万行的文件。我需要到320123行检查数据。怎么做?以n为行号: ng:跳转到行号n。默认值是文件的开头 nG:跳转到行号n。默认值是文件的结尾 因此,要转到行号320123,您需要键入320123g 直接从粘贴的副本。您也可以使用sed进行此操作- sed -n '320123'p filename 这将打印行号320123 如果你想要一个范围,那么你可以这样做- sed -n '320123,320150'p filename 如果你想从一条线一直到最后- se
n
为行号:
:跳转到行号n。默认值是文件的开头ng
:跳转到行号n。默认值是文件的结尾nG
320123g
直接从粘贴的副本。您也可以使用
sed
进行此操作-
sed -n '320123'p filename
这将打印行号320123
如果你想要一个范围,那么你可以这样做-
sed -n '320123,320150'p filename
如果你想从一条线一直到最后-
sed -n '320123,$'p filename
对于编辑,可通过命令行中的
+n
在nano
中进行编辑,例如
nano+16 file.txt
要打开第16行的
file.txt
。要直接从命令行的特定行打开,请使用:
less +320123 filename
如果还想查看行号,请执行以下操作:
less +320123 -N filename
您还可以选择在终端的特定行显示文件的特定行,以便在需要几行上下文时使用。例如,这将打开终端第10行第320123行的文件:
less +320123 -j 10 filename
从less内部(在Linux中):
单独使用时,g和g将分别带您到文件中的第一行和最后一行;与数字一起使用,它们都是等效的
一个例子;要转到文件的第320123行
按“g”,在冒号后面键入数字320123
此外,您可以在less中键入“-N”以激活/停用行号。事实上,您可以从程序内部传递任何命令行开关,例如-j或-N
注意:您可以在命令行中提供行号以减少启动次数(less+number-N),这比从程序内部执行要快得多:
less +12345 -N /var/log/hugelogfile
这将打开一个文件,显示行号并从第12345行开始
资料来源:man 1 less和less中的内置帮助(less 418)有趣的是,谷歌决定在谷歌搜索“less go to line”(我认为这是一个好答案)时,将你的部分答案作为他们显示的答案,用
more
?:-)因为。。。并且不要在g
之后按enter键,或者您将跳转另一行。这或其他答案适用于:less 9581553g-N file.txt less:无法打开“9581553g”:没有这样的文件或目录
,并且:less+G-N file.txt less:无法打开“+G”:没有这样的文件或目录
@Wimateeka您应该在less
中输入这些命令壳首先打开文件less file.txt
,然后输入命令9581553g
,这样做更有意义。我将其视为sed
或awk
,您可以将特定行号作为参数。谢谢你的澄清。
less +12345 -N /var/log/hugelogfile