0

レコードの数と構造は同じですが、列の値が異なる 2 つのタブ区切りファイル (file1、file2) があります。

毎日、レコードの数と構造は同じですが、列の値がいくつか変更された別のファイル (newfile) を取得します。

このファイル (newfile) を 2 つのファイル (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 シェルスクリプト? ファイルは何百万ものレコードを含む巨大です。この場合、シェルスクリプトは効率的なソリューションになりますか?

4

1 に答える 1

0

毎日、レコードの数と構造は同じですが、列の値がいくつか変更された別のファイル (newfile) を取得します。

これはgitの完璧なケースのように思えます。git では現在のファイルをそのままコミットできます。

次に、ファイルの新しい「バージョン」を取得すると、古いバージョンを新しいバージョンに置き換えて、再度コミットできます。最良の部分は、コミットを行うたびに、git がファイルからファイルへの変更を記録し、ファイルの全履歴にアクセスできることです。

于 2013-01-11T22:44:11.533 に答える