从大于10GB的大文件中读取行范围的快速方法

时间:2019-07-15 12:40:56

标签: java php python linux sed

我有一个大于10GB的csv文件,需要在每个页面上显示100行,并具有分页功能。

我正在将PHP与SED结合使用,以获取如下所示的100行文件

 sed -n '16224,16482p;16483q' filename > newfile

sed example from here

在PHP中,请执行以下SED命令以获取行数范围

 $res="sed -n '".$starting.",".$stateEnd."p;".$exitState."q' common.csv > newfile.csv 2>error.log";
 $output_result = shell_exec($res);

但这要花很长时间才能从文件中获取100行范围。

有没有更好的方法,快速的方法来读取这些语言中的任何行,例如JAVA,PHP或PYTHON或SHELL SCRIPT或Linux命令。

有人可以举个例子指导我吗

1 个答案:

答案 0 :(得分:1)

如果同一文件相对于更改频率将被多次使用,则可以创建一个索引,确定文件中某些行的位置,这将使您可以跳过并开始实际阅读,更接近于您所在的行想要。