Vous pouvez utiliser quelque chose comme ceci pour exécuter une commande sur chaque fichier :
find . -name "*.jar" -exec md5sum {} \; >result
Cela fonctionnera également pour hacher de manière récursive tous les fichiers du répertoire ou des sous-répertoires en cours (merci à mon administrateur système !) :
md5sum $(find . -name '*.jar') > result.txt
Ce qui précède ajoutera "./" au nom du fichier (sans inclure le chemin).
Utilisation du -exec
la suggestion de mux ajoute "*" au nom du fichier (encore une fois, sans le chemin).
L'ordre des fichiers répertoriés différait également entre les deux, mais je ne suis pas qualifié pour dire exactement pourquoi, car je suis un noob complet pour les scripts bash.
Edit :Oubliez ce qui précède concernant le préfixe et le chemin complet, qui était basé sur mon expérience d'exécution à distance sur un HPC. Je viens d'exécuter la suggestion de mon administrateur système sur ma boîte Windows locale à l'aide de cygwin et j'ai obtenu le chemin complet, avec "*./" ajouté. Je devrai utiliser une autre fantaisie pour vider le chemin incohérent et la préfixation, afin de faciliter la comparaison. En bref, YMMV.