O modalitate mai simplă de a compara suma de control md5?

După descărcarea unui fișier care are o sumă de verificare md5 disponibilă, o verific în prezent cu

md5 *file* | grep *given_checksum* 

de ex.

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

dar mi s-a părut amuzant să cer grep și conducta pentru ceea ce este cu siguranță o sarcină foarte obișnuită. Un stickler pentru a face lucrurile în mod eficient, m-am întrebat că există un mod mai bun de a face acest lucru?

Comentarii

  • Ce fel de instrument este md5? Din ce pachet provine?
  • Nu ' nu mi-am dat seama că este diferit până când am pus de fapt această întrebare și am început să caut răspunsurile, dar eu ' m folosind bash pe OS X și ' s Apple ' instrumentul propriu care nu ' nu are opțiunea -c. Se pare că au încetat să grupeze md5sum în 10.5 … Am ' acum am instalat instrumentul original unix md5sum.

Răspuns

md5sum are o opțiune -c pentru a verifica un set existent de sume și starea de ieșire indică succesul / eșecul.

Exemplu:

$ echo "ff9f75d4e7bda792fca1f30fc03a5303 package.deb" | md5sum -c - package.deb: OK 

Găsiți o resursă frumoasă aici

Comentarii

  • Mulțumesc. Doar pentru finalizare, folosesc acum md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext", care pare mai curat decât implicarea grep!
  • hmm, nu prea multă îmbunătățire a fișierului original $ md5 | grep given_checksum și dacă doriți să utilizați șirul care nu face sensibilitate între majuscule și minuscule, trebuie să rămâneți cu grep -i
  • Primeam no properly formatted MD5 checksum lines found când am foloseam md5sum -c <file.md5> <file>, dar această comandă a funcționat pentru mine.

Răspuns

Modul obișnuit de bash ar fi:

shopt -s nocasematch if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]] 

Răspuns

md5sum -c <filename>.zip.md5 <filename>.zip 

Acest lucru vă va spune Ok dacă sunt la fel.

Acest lucru funcționează și cu gudron.

Răspuns

Inspirat de răspunsul psusi

echo "$(cut -f1 -d" " your_file.jar.md5) your_file.jar" | md5sum -c - 

Am folosit cut deoarece nu toate md5 sunt stocate în același mod. Exemplu

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *