Podría usar algo como esto para ejecutar un comando en cada archivo:
find . -name "*.jar" -exec md5sum {} \; >result
Esto también funcionará para codificar recursivamente todos los archivos en el directorio o subdirectorios actuales (¡gracias a mi administrador de sistemas!):
md5sum $(find . -name '*.jar') > result.txt
Lo anterior antepondrá "./" al nombre del archivo (sin incluir la ruta).
Usando el -exec
la sugerencia de mux antepone "*" al nombre del archivo (nuevamente, sin la ruta).
El orden de los archivos enumerados también difería entre los dos, pero no estoy calificado para decir exactamente por qué, ya que soy un completo novato para criticar las secuencias de comandos.
Editar:Olvídese de lo anterior con respecto a la ruta completa y antepuesta, que se basó en mi experiencia ejecutando de forma remota en un HPC. Acabo de ejecutar la sugerencia de mi administrador de sistemas en mi cuadro local de Windows usando cygwin y obtuve la ruta completa, con "*./" antepuesto. Tendré que usar alguna otra fantasía para volcar la ruta inconsistente y anteponer, para facilitar la comparación. En resumen, YMMV.