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 habemd5sum -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