J'ai un répertoire d'images.
J'ai besoin du hachage MD5 de chaque fichier de ce répertoire et du nom du fichier placé dans un document .txt
. Ce fichier doit être lu ultérieurement afin de référencer le MD5 et le nom du fichier.
Note:
J'aimerais que tous les fichiers de répertoires soient extraits avec moi, en les spécifiant.
J'ai essayé de jouer avec tar
et find
et je n'arrive pas à trouver une bonne solution ...
Voici un exemple de répertoire:
/Desktop/testing
RandomFilename1.png
RandomFilename2.png
RandomFilename3.png
La sortie .txt
est:
RandomFilename1,da39a3ee5e6b4b0d3255bfef95601890afd80709
RandomFilename2,da39a3ee5e6b4b0d3255bfef95601890afd80709
RandomFilename3,da39a3ee5e6b4b0d3255bfef95601890afd80709
J'ai cherché partout en ligne sans succès.
Ce sera sur un terminal Linux.
Vous pouvez utiliser la commande bash
suivante:
for file in testing/*; do md5sum $file; done > res.txt
Bien sûr, vous devez ajuster le répertoire de destination de res.txt
.
Le résultat pourrait ressembler à ceci:
8b1500ea6fe42927891fd1831bb955ba testing/Pic1.gif
73f3222889a14411a3b78675ed0bc269 testing/Pic2.gif
c5b18ef1ea1346f13f668a7ead4e4c92 testing/Pic3.gif
Ainsi, le hachage MD5 est suivi du nom de fichier et du chemin.
Pour ce que vous voulez faire, exécutez md5sum
et utilisez sed
ou awk
pour transformer la sortie.
md5sum *.png | sed 's/^\([0-9a-f]\+\) \+\(.\+\)/\2,\1/' >images.md5sums
md5sum *.png | awk '{print $2","$1}' >image.md5sums
Cependant, la sortie en clair de md5sum
est hash filename
et équivaut à votre format. L'utilisation de ce format de sortie standard md5sum
est souvent plus pratique, car vous pouvez l'utiliser directement avec md5sum -c
pour vérifier le hachage des fichiers (après une copie ou un transfert réseau). Certains autres utilitaires peuvent également s'attendre à ce format particulier.