在文件夹中,我们有以下内容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
在某个地方使用一个来确保它每次都是相同的并且可以在机器上重复。