En md5
vérifiera plusieurs fichiers pour vous. Il suffit de lister tous les fichiers souhaités après la commande. Par exemple md5 md1.gz md2.gz md3.gz
. Il produira les hachages md5 de la manière suivante :
MD5 (md1.gz) = 1c2c02b085a1bc2fed683eca86c0df02
MD5 (md1.gz) = c5515451d8f90a822457a4a8e4bf1791
Si vous ne voulez que les hachages, utilisez l'option -q
il n'imprimera que le hachage, sans les informations d'identification.
Je suppose que vous voulez comparer le hachage des fichiers avec celui du fichier .md5 correspondant. Vous pourriez écrire un script shell script rapide pour vérifier chaque hachage généré par rapport à celui stocké dans le fichier .md5.
Une solution de ce type devrait fonctionner :
#!/bin/bash
for file in "$@"; do
generatedhash=$(md5 -q "$file")
storedhash=$(< "$file".md5)
if [[ $generatedhash != $storedhash ]]; then
echo "Hash for file '$file 'does not match"
fi
done
Enregistrez cela dans un fichier texte, appelez-le quelque chose comme checkmd5.sh et faites chmod +x checkmd5.sh
dans le terminal.
Il affichera un avertissement pour tous les fichiers qui n'ont pas de hachage correspondant. Il n'affiche rien si les hachages correspondent. C'est rapide et sale, donc je m'excuse si cela ne fonctionne pas dans votre cas particulier. Mais d'après les exemples que vous avez donnés, si vous exécutez ./checkmd5.sh md*.gz
il devrait vérifier les hachages des fichiers .gz par rapport aux fichiers .md5 correspondants et vous indiquer si l'un d'entre eux est mauvais.