Linux
計算特定匹配文件的總 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 -
但不是很好也不是很優雅,因為我們只想要匹配 HADOOP 的所有 md5 文件的總和(左側是每個文件的 md5)
$$ a-z $$ 有什麼建議麼?
不知道你在這裡做什麼……但聽起來你想要
awk
(或cut
)在grep
只列印總和之後。但是然後是校驗和的校驗和以確保您擁有所有文件?這是你想要的最終結果嗎?順便說一句,我幾乎肯定 glob
md5sum *
返回一個隨機順序,所以你可能想要一個sort
在某個地方,以確保它每次都相同並且可以在機器上重複。