在文本文件中查找行重复项,其中行可以彼此相同

时间:2011-01-17 15:12:40

标签: text-processing

我建立了一个系统,当系统读取文件时,数据库中的数据就会被填满。此文件可能会在稍后阶段填写,这会产生再次读取同一文件的要求。

数据本身表示在文件的每一行上,而困难的部分是找到唯一的值,我会告诉你原因。

文件可能如下所示:

123 20110101 4123 Hello
123 20110101 4123 Hello
124 20110102 6133 Hello again
125 20110103 6425 Yes

这里真正的问题是前两行不是重复的,因此它们都将被系统读入数据库。

正如我之前所说,此文件可能会在稍后阶段添加,因此我们必须再次阅读。由于我不熟悉如何将文本附加到文件中,因此我假设新数据将附加到文件的末尾。因此,我将文件行号添加到数据库中的每一行,以使行唯一。但是,我错了......

事实证明,数据也会附加到文件中间。

这意味着我们现在可能有以下文件:

123 20110101 4123 Hello
123 20110101 4123 Hello
124 20110102 6133 Hello again
123 20110101 4123 Hello
125 20110103 6425 Yes

现在我们站在第二次阅读文件之前。在这种情况下,我只想阅读第四行,因为这是唯一的新行。我怎样才能找到新线并摆脱其他线?

1 个答案:

答案 0 :(得分:0)

保存旧版本的文件,然后在旧版本和新版本上运行diff。这将为您提供新添加的行。