私は重複として私をマークする前に、私は非常に具体的な制約の下で働いています:私の2つのデータファイルは、同じシステムにありません(完全なファイルは遠隔です)、最終目標は絶対最小データを転送することです高価な!)。リモートマシンはrsync
をサポートし、ftpサーバーを実行します。不完全なデータファイルのみを転送して、完全なファイルから不完全なデータファイルを更新するにはどうすればよいですか?
GPS受信機は、位置データをリアルタイム(たとえば1Hz)で記録します。記録すると、データはリアルタイムでログファイルrealtime.log
に転送されます。しかし、時にはシステムが壊れ、一部のデータがリアルタイムログファイルに転送されないことがあります。 1時間の終わりに、受信者は新しいログファイルhourly.log
を作成し、その完全なファイルを転送します。問題は、hourly.log
のデータの多くが冗長であり、バイトが転送に費用がかかることです。私はローカルのリアルタイムログファイルに(完全なデータで)リモートの時間別ログファイルを比較し、欠落しているデータのみを転送する方法が必要です。データがrealtime.log
にある場合は、常にhourly.log
にもなるとします。例えば
、realtime.log
が含まれているとします。私はポイント2、3のためにデータを転送することなくhourly.log
と同等であるrealtime.log
を更新したい
2
3
5
とhourly.log
は
1
2
3
4
5
6
が含まれており、 5.これは可能ですか?
EDIT:(各行が独自のファイルであるかのように、一種の)私は本当にラインで2つのファイルの行を比較するrsync
を強制する方法を探していているようですし、唯一の新しいある行を転送したり、かわった。
データの順序は重要ですか? Realtime.logは更新後に '2 3 5 1 4 6'になることがありますか? –
realtime.logから行ヘッダーを取り出し、必要な情報を解析するスクリプトまたは関数を持つことができますか?そのスクリプト/関数で返される別のファイルを作成できますか?そのようにして、2、3、5のうちのフィルタリングは、ネットワーク上ではなくリモートマシン上で行われます。 –
@PriyanshAgrawal注文は関係ありません。数値が抽象的なタイムスタンプであり、後で並べ替えることができるとします。 – medley56