0

有两个制表符分隔的文件(file1、file2),它们的记录数量和结构相同,但列的值不同。

每天我们都会得到另一个文件(新文件),它的记录数量和结构相同,但列值有一些变化。

将此文件 (newfile) 与两个文件 (file1, file2) 进行比较,并用更改的记录更新其中的记录,保持未更改的记录不变。

在应用更改之前:

file1 

11 aaaa 
22 bbbb 
33 cccc 

file2 
11 bbbb 
22 aaaa 
33 cccc 

newfile 
11 aaaa 
22 eeee 
33 ffff 

应用更改后:

file1 
11 aaaa 
22 eeee 
33 ffff 

file2 
11 aaaa 
22 eeee 
33 ffff 

什么是最简单和最有效的解决方案?Unix shell 脚本?这些文件很大,包含数百万条记录,在这种情况下,shell 脚本可以成为有效的解决方案吗?

4

1 回答 1

0

每天我们都会得到另一个文件(新文件),它的记录数量和结构相同,但列值有一些变化。

在我看来,这听起来像是git的完美案例。使用 git,您可以按原样提交当前文件。

然后,当您获得文件的新“版本”时,您可以简单地用新版本替换旧版本,然后再次提交。最好的部分是每次提交时,git 都会记录文件之间的更改,让您可以访问文件的整个历史记录。

于 2013-01-11T22:44:11.533 回答