Wget sırasında md5 elde etme


10

Ben wgetbüyük dosyaları (100GB üzerinde) ve sonra benim md5sum depoda yayınlanan toplamı karşılaştırıyorum. İster inanın ister inanmayın md5sum, bu boyuttaki bir dosya üzerinde çalışmak için önemsiz bir zaman alır, bu yüzden indirmeye paralel olarak toplamı almak istiyorum.

Bunu yapmanın en iyi yolu nedir? wgetİndirme sırasında (şaşırtıcı bir şekilde) MD5 hesaplamak için bir seçenek görmüyorum, bu yüzden kullanarak teegitmek için bir yol olacağını tahmin ?!


Mümkün mü? Eminim karma kontrol etmek için tüm ikili gerekir. Hatta adımlara (yani hash indirilir gibi) içine kırma, sırayla dosyayı almıyor olabilir gibi görmek mümkün olacaktır şüphe. Her iki durumda da, birisinin çözümü olup olmadığını görmek için mutlu olurum.
n0pe

@MaxMackie: Kesinlikle mümkündür: tüm dosyayı indirdiğim için, wget teorik olarak MD5 üzerinden çalıştırabilir. Unf, öyle değil.
Fixee

Yanıtlar:


12

Aslında, bu mümkün olabilir:

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

Ancak, bu önceden bir dosyada karma olduğunu varsayar.


1
Bu iyi görünüyor ve nasıl "önceden bir dosyada var" hakkında bir şey varsayıyor görmüyorum. Yalnızca, ilerledikçe toplamı oluşturur ve daha sonra karşılaştırmak için kullanabileceğiniz bir dosyaya yazar. Tek yakalama bellek yükü olabilir.
Caleb

2
@Caleb Hangi bellek yükü? md5sum(ve SHA ailesi gibi diğer yaygın karma algoritmalar) sabit bellekte çalışır. Akarsu üzerinde çalışmak üzere tasarlanmıştır.
Gilles 'SO- kötü olmayı kes

awksonunda bir ek ile otomatik olarak `-`a sonunu kaldırabilirsiniz. wget -O - "https://example.org/myFile.jpg" | tee file | md5sum | awk '{print $1}' > md5.txt
Maksimum
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.