J'ai un dossier contenant de nombreux dossiers contenant de nombreux fichiers. Des milliers.
Je peux le faire. find . -type f > ./FILE-LISTING.TXT
pour créer un fichier contenant plusieurs milliers de chemins de fichiers qui ressemble à ceci :
./Anders/Letters/20190101 Rent.pdf
./Anders/Letters/20190103 Appeal.pdf
./Anders/Letters/20190107 Decision.pdf
./Beeker/Letters/20180101 Rent.pdf
Comment pourrais-je introduire cette liste de chemins de fichiers dans md5
pour produire une sortie formatée comme ceci :
9cf14e4d666dcb6aab17763b02429a19 ./Anders/Letters/20190101 Rent.pdf
d1bb70baa31f1df69628c00632b65eab ./Anders/Letters/20190103 Appeal.pdf
7a0f5bc18688fe8ba32f43aa6ec53fb1 ./Anders/Letters/20190107 Decision.pdf
a0c96a79cf3b1847025d9f073151519d ./Beeker/Letters/20180101 Rent.pdf
NB : Je veux les hachages md5 des fichiers référencés, pas le md5 de la liste des fichiers, ni les hachages md5 des chaînes de caractères dans le fichier file-listing.txt.
De même, serait-il plus rapide de tout faire en une seule ligne de commande, ou de le faire en deux passes ( find
pour créer le fichier file-listing.txt, puis md5
pour créer file-listing-md5.txt) ?
3 votes
C'est une superbe question - claire, qui pose quelques défis, mais qui va être très faisable puisque chaque outil d'automatisation sur MacOS doit gérer les espaces dans les noms de fichiers, les boucles et les variables pour gérer le changement de fichier en cours de traitement. Bien joué - j'espère que nous aurons d'excellentes réponses en Python, bash, swift et autres options de scripting.
3 votes
Quel est votre cas d'utilisation de ce fichier ?
mtree
est un outil déjà disponible pour surveiller les hachages de fichiers et détecter les changements de noms de fichiers, de contenus de fichiers, de permissions ou d'horodatage.man mtree
pour les détails.mtree -c -K md5digest
0 votes
Le cas d'utilisation est de remettre un fichier de hachages et de chemins de fichiers à un SGBDR tiers qui suit un grand nombre de détails supplémentaires non présents dans le système de fichiers. Si les fichiers sont déplacés, ils peuvent être réassociés. Si le fichier est modifié sur place, il peut être reconnecté.