unix命令通过传递行号从文件中读取行

jgg*_*jgg 21 unix

我正在寻找一个unix命令,通过将行号传递给一个大文件(大约有500万条记录)来获得一行.例如,要获得第10行,我想做类似的事情

command file-name 10
Run Code Online (Sandbox Code Playgroud)

有没有这样的命令?我们可以通过循环遍历每条记录来完成此操作,但这将是一个耗时的过程.

sch*_*der 44

论坛条目建议:

sed -n '52p' (file)
Run Code Online (Sandbox Code Playgroud)

用于打印文件的第52行.

  • 通过在打印后退出,我能够将此速度提高十倍(当与具有100000行的文件一起使用时):`sed -n '52 {p; q}'` (3认同)

the*_*eek 6

展望未来,有很多方法可以做到,以及其他相关的东西.

如果要打印多行,

sed -n -e 'Np' -e 'Mp'
Run Code Online (Sandbox Code Playgroud)

其中N和M是仅打印的行.请参阅这10个在Unix中查看巨大日志文件的例子