私が探しているのは、自動化された方法で 2 つの md5 ファイル (それらa.md5
を と と呼びましょう) の内容をマージする方法です。b.md5
理想的には、bash スクリプトからこれを実行したいと考えていますが、別の方法を検討したいと考えています。
私は次のようにして生成a.md5
します:
cd a && find . -type f -print0 | xargs -0 md5sum > ../a.md5
フォルダーa
には、多数のファイルとディレクトリが含まれています。別のフォルダからb
、同様に生成しb.md5
ます。
以下は、.md5 ファイルの内容のスニペットです。
8f56e29ec16b2d59949c4a95b5607574 ./usr/share/man/man1/infocmp.1.gz
f245d527f4dd1fabab719b64414dccf7 ./usr/share/man/man1/clear.1.gz
c0ae88d29fc406c937c3f64511fa1ab0 ./usr/share/man/man1/modeline2fb.1
3b83017b7acd38a553c3132a0ccb1fd8 ./usr/share/man/man1/fbset.1
83530bf6b1a19ca69022536e7ca810b5 ./usr/share/man/man1/sqlite3.1
後で、 foldera
に新しいファイル (ログ ファイルなど) が追加され、 folder で上書きされるため、フォルダーとb
のすべての一意のファイルが存在し、すべての競合について、からのファイルがファイルに置き換えられます。から。a
b
a
b
同様に、a.md5
andの内容をマージしb.md5
て、衝突が発生した場合に特定のファイルのb.md5
値を置き換えるようにしたいと考えています。a.md5
ただし、マージの前に結果に含めたくないファイルが追加されているため、新しい md5 ファイルを単純に再計算することはできません。
上記のニーズにいくつかのコンテキストを与えるためのファイルノートとして、a
それぞれb
が組み込みLinuxファイルシステムのコンテンツです。の内容はa
クリーンなファイル システムにプログラムされ、 の内容はb
実行時にファイル システムにアンパックされます。md5 の目的は、コンテンツがエラーなしで展開されたことを確認し、実行時にさまざまなことによって生成されるファイルを無視することです。PCでmd5を生成md5sum -c
し、組み込みシステムで実行します。
上記のように、bash スクリプトが理想的ですが、プロセスを自動化できる限り、他の提案も受け付けています。