在分隔文件中更改数据捕获

时间:2013-01-11 20:45:31

标签: shell

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

每天我们得到另一个文件(newfile),其中包含相同数量和结构的记录,但列值有一些变化。

将此文件(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脚本可以成为有效的解决方案吗?

1 个答案:

答案 0 :(得分:0)

  

每天我们得到另一个文件(newfile),其中包含相同数量和结构的记录   列值的一些变化。

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

然后,当您获得该文件的新“版本”时,您只需将旧版本替换为新版本,然后再次提交。最好的部分是每次提交时git都会记录文件之间的变化,让您可以访问文件的整个历史记录。