Efter download af en fil, der har en md5-kontrolsum tilgængelig, tjekker jeg den i øjeblikket med
md5 *file* | grep *given_checksum*
f.eks.
md5 file.zip | grep -i B4460802B5853B7BB257FBF071EE4AE2
men det syntes mig sjovt at kræve grep og pipen til hvad der helt sikkert er en meget almindelig opgave. En klistremaskine til at gøre tingene effektivt, jeg spekulerede på, at der er en bedre måde at gøre dette på?
Kommentarer
Svar
md5sum
har en -c
mulighed for at kontrollere et eksisterende sæt summer og dets exit-status angiver succes / fiasko.
Eksempel:
$ echo "ff9f75d4e7bda792fca1f30fc03a5303 package.deb" | md5sum -c - package.deb: OK
Find en dejlig ressource her
Kommentarer
- Tak. Bare til afslutning bruger jeg nu
md5sum -c - <<<"b4460802b5853b7bb257fbf071ee4ae2 file_name.ext"
som synes renere end at involvere grep! - hmm, ikke meget forbedring af den originale $ md5 fil | grep given_checksum og hvis du vil bruge store og små bogstaver, skal du holde fast med grep -i
- Jeg fik
no properly formatted MD5 checksum lines found
da jeg brugtemd5sum -c <file.md5> <file>
, men denne kommando fungerede for mig.
Svar
Den sædvanlige bash-måde ville være:
shopt -s nocasematch if [[ $(md5sum "$file") = 5d40f31729c992b5a0e67490689fe8ff* ]]
Svar
md5sum -c <filename>.zip.md5 <filename>.zip
Dette fortæller dig ok, hvis de er de samme.
Dette fungerer også med tjære.
Svar
Inspireret af psusis svar
echo "$(cut -f1 -d" " your_file.jar.md5) your_file.jar" | md5sum -c -
Jeg brugte cut
da ikke alle md5
er gemt på samme måde. Eksempel
md5
? Fra hvilken pakke det kommer?