Yksinkertaisempi tapa verrata MD5-tarkistussummaa?

Kun olen ladannut tiedoston, jossa on käytettävissä md5-tarkistussumma, tarkistan sen tällä hetkellä

md5 *file* | grep *given_checksum* 

esim.

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

mutta minusta tuntui hauskalta vaatia grepiä ja putkea siihen, mikä on varmasti hyvin yleinen tehtävä. Tarra, joka tekee asioita tehokkaasti, mietin, onko olemassa parempi tapa tehdä tämä?

Kommentit

  • Millainen työkalu on, että md5? Mistä paketista se tulee?
  • En tiennyt ' tiennyt, että se oli erilainen, ennen kuin kysyin tämän kysymyksen ja aloin tutkia vastauksia, mutta en ' m bash-käyttöjärjestelmällä OS X: ssä ja se ' s Apple ' oma työkalu, joka ei ' ei ole -c-vaihtoehtoa. Ilmeisesti he lopettivat md5sumin niputtamisen 10.5: ssä … Olen ' asentanut alkuperäisen unix md5sum -työkalun.

Vastaa

md5sum on vaihtoehto -c tarkistaa olemassa oleva summa ja sen poistumistila osoittaa onnistumisen / epäonnistumisen.

Esimerkki:

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

Löydä mukava resurssi täällä

kommentit

  • kiitos. Pelkästään loppuun asti käytän nyt md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext" -tekniikkaa, joka näyttää puhtaammalta kuin grep-toiminto!
  • hmm, ei paljon parannusta alkuperäiseen $ md5 -tiedostoon | grep given_checksum ja jos haluat käyttää kirjainkoon merkitsemättömiä merkkijonoja, sinun on pidettävä kiinni grep -i: stä
  • Sain no properly formatted MD5 checksum lines found kun käytti md5sum -c <file.md5> <file>, mutta tämä komento toimi minulle.

Vastaa

Tavallinen bash-tapa olisi:

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

vastaus

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

Tämä kertoo Ok, jos ne ovat samat.

Tämä toimii myös tervan kanssa.

vastaus

innoittamana psusin vastauksista

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

Käytin cut, koska kaikkia md5 ei ole tallennettu samalla tavalla. Esimerkki

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *