Sie könnten so etwas verwenden, um einen Befehl für jede Datei auszuführen:
find . -name "*.jar" -exec md5sum {} \; >result
Dies funktioniert auch, um alle Dateien im aktuellen Verzeichnis oder Unterverzeichnissen rekursiv zu hashen (danke an meinen Systemadministrator!):
md5sum $(find . -name '*.jar') > result.txt
Oben wird "./" dem Dateinamen vorangestellt (ohne den Pfad einzuschließen).
Verwenden Sie den -exec
Vorschlag von mux stellt dem Dateinamen ein "*" voran (wiederum ohne den Pfad).
Die aufgelistete Dateireihenfolge unterschied sich auch zwischen den beiden, aber ich bin nicht qualifiziert, genau zu sagen, warum, da ich ein absoluter Noob in Sachen Bash-Scripting bin.
Bearbeiten:Vergessen Sie das Obige in Bezug auf den vorangestellten und den vollständigen Pfad, der auf meiner Erfahrung mit der Ausführung auf einem HPC basiert. Ich habe gerade den Vorschlag meines Systemadministrators auf meiner lokalen Windows-Box mit Cygwin ausgeführt und den vollständigen Pfad mit vorangestelltem "*./" erhalten. Ich muss eine andere Phantasie verwenden, um den inkonsistenten Pfad und das Voranstellen zu löschen, um den Vergleich zu vereinfachen. Kurz gesagt, YMMV.