查看由数字表示的文件的特定行

好吧,这可能是一个明显的事情,但它逃脱了我,因为它可能可以做一个更简单的方式,我不知道,迄今..说有一个“文件”,我只想看看什么是在该文件的行号“X”上,解决scheme是什么?

这是我能想到的:

head -X < file | tail -1 sed -n Xp < file 

有没有什么(或任何其他方式)从标准的Unix / GNU / Linux文本工具/ utils集?

Solutions Collecting From Web of "查看由数字表示的文件的特定行"

sed -n 'Xp' theFile ,其中X是您的行号,而theFile是您的文件。

在vi中:

 vi +X filename 

在EMACS中:

 emacs +X filename 

在shell中:

 nl -ba -nln filename| grep '^X ' 

您可以使用上下文grep cgrep而不是grep来查看匹配行上下的一些行。


例子:

只是打印一行:

 $ nl -ba -nln active_record.rb | grep '^111 ' 111 module ConnectionAdapters 

与上下文:

 $ nl -ba -nln active_record.rb | grep -C 2 '^111 ' 109 end 110 111 module ConnectionAdapters 112 extend ActiveSupport::Autoload 113 

grep check man grep进行上下文控制:

  Context Line Control -A NUM, --after-context=NUM Print NUM lines of trailing context after matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given. -B NUM, --before-context=NUM Print NUM lines of leading context before matching lines. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given. -C NUM, -NUM, --context=NUM Print NUM lines of output context. Places a line containing a group separator (--) between contiguous groups of matches. With the -o or --only-matching option, this has no effect and a warning is given. 

awk单行:

 awk "NR==$X" file 

bash循环:

 for ((i=1; i<=X; i++)); do read l done < file echo "$l" 

只要使用vi

 vi file 

当在文件类型

 :X 

其中X是您想要查看的行号

但是,sed -n Xp文件是一个很好的方法,如果你真的只想看到一行