我正在寻找的是一种以自动方式合并两个 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
稍后,文件夹a
将添加新文件(例如日志文件),然后被文件夹覆盖b
,因此文件夹的所有唯一文件a
和b
都存在,并且对于所有冲突,文件 froma
被替换为文件从b
.
同样,我想合并 and 的内容,a.md5
以便b.md5
在任何冲突中,该b.md5
值都会替换a.md5
特定文件的值;但是,由于在合并之前添加了一些我不希望在结果中出现的文件,因此我不能简单地重新计算一个新的 md5 文件。
作为文件注释,为上述需求提供一些上下文,a
并且b
每个都是嵌入式 linux 文件系统的内容;的内容a
被编程到一个干净的文件系统中,而 的内容b
在运行时被解压缩到文件系统中。md5 的目标是验证内容是否已正确部署,并忽略运行时由各种事物生成的文件。我将在我的 PC 上生成 md5,并在md5sum -c
嵌入式系统上进行。
如上所述,一个 bash 脚本将是理想的,但我愿意接受其他建议,只要该过程可以自动化。