Eine einfachere Möglichkeit, die md5-Prüfsumme zu vergleichen?

Nachdem ich eine Datei heruntergeladen habe, für die eine MD5-Prüfsumme verfügbar ist, überprüfe ich sie derzeit mit

md5 *file* | grep *given_checksum* 

zB

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2 

, aber es schien mir lustig, grep und die Pipe für eine sicherlich sehr häufige Aufgabe zu benötigen. Als Verfechter effizienter Dinge fragte ich mich, ob es einen besseren Weg gibt, dies zu tun?

Kommentare

  • Was für ein Werkzeug ist das md5? Aus welchem Paket stammt es?
  • Ich habe ' nicht bemerkt, dass es anders war, bis ich diese Frage tatsächlich gestellt und angefangen habe, nach den Antworten zu suchen, aber ich ' Ich verwende Bash unter OS X und ' s Apple ' s eigenes Tool, das dies nicht tut div id = „790aaf30f4″>

hat die Option -c nicht. Anscheinend haben sie aufgehört, md5sum in 10.5 zu bündeln … Ich ' habe jetzt das ursprüngliche Unix-Tool md5sum installiert.

Answer

md5sum verfügt über die Option -c, um einen vorhandenen Satz von Summen und deren zu überprüfen Der Exit-Status zeigt Erfolg / Misserfolg an.

Beispiel:

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

Suchen Sie eine nette Ressource hier

Kommentare

  • Danke. Nur zur Vervollständigung verwende ich jetzt md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext", was sauberer zu sein scheint als grep!
  • hmm, keine große Verbesserung gegenüber der ursprünglichen $ md5 -Datei | grep Given_checksum und wenn Sie eine Zeichenfolge ohne Berücksichtigung der Groß- und Kleinschreibung verwenden möchten, müssen Sie bei grep -i
  • bleiben. Ich habe no properly formatted MD5 checksum lines found erhalten, als ich Ich habe md5sum -c <file.md5> <file> verwendet, aber dieser Befehl hat bei mir funktioniert.

Antwort

Der übliche Bash-Weg wäre:

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

Antwort

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

Hier erfahren Sie, ob sie identisch sind.

Dies funktioniert auch mit Teer.

Antwort

Inspiriert von der Antwort von psusi

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

Ich habe cut verwendet, da nicht alle md5 auf dieselbe Weise gespeichert sind. Beispiel

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.