폴더 안에는 다음과 같은 내용이 있습니다하둡바이너리 파일 및 해당 크기(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
그런데, 나는 glob이 임의의 순서를 반환한다는 것을 거의 확신하므로 매번 동일하고 여러 컴퓨터에서 반복 가능한지 확인하기 위해 어딘가에서 하나를 사용하고 md5sum *
싶을 것입니다 .sort