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


11

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*

z.B

md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2

aber es kam mir komisch vor, grep und die Pfeife für eine sicherlich sehr häufige Aufgabe zu benötigen. Ich habe mich gefragt, ob es einen besseren Weg gibt, dies effizient zu tun.


Was für ein Werkzeug ist das md5? Aus welchem ​​Paket kommt es?
Manatwork

Ich habe nicht bemerkt, dass es anders ist, bis ich diese Frage tatsächlich gestellt und angefangen habe, nach den Antworten zu suchen, aber ich verwende Bash unter OS X und es ist Apples eigenes Tool, das die Option -c nicht hat. Anscheinend haben sie aufgehört, md5sum in 10.5 zu bündeln ... Ich habe jetzt das ursprüngliche Unix-Tool md5sum installiert.
Ben Griffiths

Antworten:


20

md5sumhat die -cOption, einen vorhandenen Satz von Summen zu überprüfen, und sein Beendigungsstatus zeigt Erfolg / Misserfolg an.

Beispiel:

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

Finden Sie eine schöne Ressource hier


4
Vielen Dank. Nur zur Vervollständigung verwende ich jetzt, md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext"was sauberer erscheint als grep!
Ben Griffiths

hmm, nicht viel 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
StandardNerd

Ich bekam, no properly formatted MD5 checksum lines foundals ich benutzte, md5sum -c <file.md5> <file>aber dieser Befehl funktionierte für mich.
Vishrant

1

Der übliche Bash-Weg wäre:

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

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

Dies wird Ihnen sagen, ob sie gleich sind.

Dies funktioniert auch mit Teer.


0

Inspiriert von Psusis Antwort

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

Ich habe verwendet, cutda nicht alle md5auf die gleiche Weise gespeichert sind. Beispiel

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.