wget 중 md5 확보


10

wget저장소에 게시 합에 내 md5sum이를 비교 한 후 (1백기가바이트 이상) 큰 파일을 보내고 및 '. 믿거 나 말거나, md5sum이 크기의 파일에서 실행하는 데 시간이 걸리지 않으므로 다운로드와 병렬로 합계를 얻고 싶습니다.

가장 좋은 방법은 무엇입니까? wget다운로드하는 동안 MD5를 계산 하는 옵션 이 보이지 않지만 (놀랍게도) 사용하는 tee것이 좋습니다 !


이것이 가능한가? 해시를 확인하려면 전체 바이너리가 필요하다고 확신합니다. 파일을 순차적으로 수신하지 못할 수도 있으므로 단계 (예 : 다운로드시 해시)로 나누는 것도 가능합니다. 어느 쪽이든, 누군가가 해결책을 가지고 있는지 기뻐할 것입니다.
n0pe

@ MaxMackie : 그것은 가능합니다 : 전체 파일을 다운로드하고 있기 때문에 wget은 이론적으로 MD5를 통해 파일을 실행할 수 있습니다. 그렇지 않습니다.
Fixee

답변:


12

실제로 이것은 가능할 수 있습니다.

wget -O - http://example.com/file | tee file | md5sum > file.md5

그러나 이것은 미리 파일에 해시가 있다고 가정합니다.


1
이것은 괜찮아 보이고, "파일에 미리 가지고있다"는 것에 대해 어떻게 가정하는지 알 수 없습니다. 그것은 당신이 갈 때 합계를 생성하고 나중에 비교하는 데 사용할 수있는 파일에 씁니다. 유일한 캐치는 메모리 오버 헤드 일 수 있습니다.
Caleb

2
@Caleb 어떤 메모리 오버 헤드? md5sum(및 SHA 계열과 같은 다른 공통 해시 알고리즘)은 상수 메모리에서 작동합니다. 그들은 스트림에서 작동하도록 설계되었습니다.
Gilles 'SO- 악마 그만'

awk끝에 추가 로`-` a 끝을 자동으로 제거 할 수 있습니다. wget -O - "https://example.org/myFile.jpg" | tee file | md5sum | awk '{print $1}' > md5.txt
Max
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.