Ruby File IO问题;在脚本执行之间维护文件读取位置

时间:2010-04-23 20:19:26

标签: ruby text file-io parsing

我有两个文件a.txtb.txt(此后为ab)。

我的脚本遍历a,执行某些操作,可能将一行添加到b

如果脚本停止,我需要它从中断的地方继续。在下面的示例中:

  1. foo已复制到b
  2. 栏已复​​制到b
  3. zim 已复制到b(未通过某些条件)
  4. gaz已复制到b
  5. 脚本停止(无论出于何种原因)
  6. 当脚本重新开始时,如何打开a并从"dib"开始?

    A.TXT

    foo
    bar
    zim
    gaz      // <= last successful copy
    dib      // <= I want to start here on next script execution
    gir
    

    b.txt

    foo
    bar
    gaz      // <= note omission of "zim" above gaz
    

    注意:

    a.txt几乎是1,000,000行

1 个答案:

答案 0 :(得分:3)

嘿Macek - 您可以使用seek在原始文件中找到该行。查看IO#seek http://ruby-doc.org/core/classes/IO.html#M002280