Print md5sum of results of a find command in Linux

You could use something like this to execute a command on each file:

find . -name "*.jar" -exec md5sum {} \; >result

This will also work to recursively hash all files in the current directory or sub-directories (thanks to my sysadmin!):

md5sum $(find . -name '*.jar') > result.txt

The above will prepend "./" to the filename (without including the path).

Using the -exec suggestion from mux prepends "*" to the filename (again, without the path).

The listed file order also differed between the two, but I am unqualified to say exactly why, since I'm a complete noob to bash scripting.

Edit: Forget the above regarding the prepend and full path, which was based on my experience running remotely on an HPC. I just ran my sysadmin's suggestion on my local Windows box using cygwin and got the full path, with "*./" prepended. I'll need to use some other fanciness to dump the inconsistent path and prepending, to make the comparison easier. In short, YMMV.

Tags:

Linux

Find

Md5Sum