如何在ruby中的特定行开始读取大文件

时间:2013-12-27 09:56:55

标签: ruby file-io

我有一个非常大的文件,并以某种方式将新数据附加到文件的末尾。 我只需要读取这个文件的新数据。但是现在我必须从这个文件的头部读取扫描整个文件。

是否有一种从特定行号开始读取文件的好方法? 或者还有另一种解决方法吗?

1 个答案:

答案 0 :(得分:0)

您可以使用shell中的tail命令,并在ruby中使用它,如下所示:

lines = `tail -n 10 your_file.txt`

您还可以安装一个名为elif的gem,它基本上像常规File模块一样工作,但允许您向后读取文件:)

gem install elif

现在,您可以执行以下操作来获取文件的最后一行:

Elif.open('your_file.txt', &:gets)