计算特定匹配文件的总md5

计算特定匹配文件的总md5

在文件夹中,我们有以下内容Hadoop二进制文件及其大小 (BYTES)

 du -sb * | grep HADOOP[a-z]
334542327       HADOOPaa
334542327       HADOOPab
334542327       HADOOPac
334542327       HADOOPad
334542327       HADOOPae
334542327       HADOOPaf
334542327       HADOOPag
334542327       HADOOPah
334542327       HADOOPai
334542327       HADOOPaj
334542327       HADOOPak
334542327       HADOOPal
334542327       HADOOPam
334542327       HADOOPan
334542327       HADOOPao
334542327       HADOOPap
334542327       HADOOPaq
334542327       HADOOPar
334542327       HADOOPas
334542327       HADOOPat
334542327       HADOOPau
334542327       HADOOPav
334542327       HADOOPaw
334542327       HADOOPax
334542327       HADOOPay
334542327       HADOOPaz
334542327       HADOOPba
334542327       HADOOPbb
932542327       HADOOPbc
334542327       HADOOPbd
334542327       HADOOPbe
434542327       HADOOPbf
934542327       HADOOPbg
108883803       HADOOPbh

通过 awk,我们成功地将所有数字相加到总大小(以字节为单位)

例子

 du -sb * | grep HADOOP[a-z] | awk '{ sum+=$1} END {print sum}'

现在我们想对 md5 做同样的事情

我们尝试

md5sum * | grep HADOOP[a-z] | md5sum | awk '{print $1}' 
2a85626137ae7d689b85e8e04e8a2523  -

但不是那么好,也不是那么优雅,因为我们只想要所有 md5 文件的总和(左边side 是匹配 HADOOP[az] 的每个文件的 md5

有什么建议么?

答案1

不确定你要在这里做什么...但听起来你想要awk(或cut) 之后grep只打印总和。但是,然后使用校验和来确保您拥有所有文件?这就是你想要的最终结果吗?

顺便说一句,我几乎肯定 globmd5sum *返回一个随机顺序,因此您可能需要sort在某个地方使用一个来确保它每次都是相同的并且可以在机器上重复。

相关内容