Unix SHA1大目录中文件的校验和,并输出到文本文件

Unix SHA1大目录中文件的校验和,并输出到文本文件,unix,terminal,openssl,xargs,Unix,Terminal,Openssl,Xargs,我需要通过文件将sha1校验和输出到输出文件中。有几个文件的大小大于8gb,如果这会造成差异,并且整个目录包含约28K个文件 这就是我需要输出文件的样子: SHA1(Windows printed document-1.pdf)= 1c1e2844be6e9ddd995941388b98c12a8b7a1e8d SHA1(Windows printed document.pdf)= 4ea8a157c5d8d0fc9c38aa6312d120ab425900a0 SHA1(checklist.c

我需要通过文件将sha1校验和输出到输出文件中。有几个文件的大小大于8gb,如果这会造成差异,并且整个目录包含约28K个文件

这就是我需要输出文件的样子:

SHA1(Windows printed document-1.pdf)= 1c1e2844be6e9ddd995941388b98c12a8b7a1e8d
SHA1(Windows printed document.pdf)= 4ea8a157c5d8d0fc9c38aa6312d120ab425900a0
SHA1(checklist.chk)= c5f9e078578925ef3de1e6075b0777d75296bb8f
...
这是迄今为止的代码:

openssl dgst -sha1 * > ~/Desktop/output.txt

这段代码适用于小文件或小目录,但它引发了一个异常,即当我尝试将其投入生产时,参数列表太大

尝试
hashdeep-csha1-r$DIR
find$DIR-print0-type f | xargs-0-I{}sha1sum{}>output.txt

可能类似。您可能应该添加一个脚本并稍微展开一些内容。对找到的每个文件使用
find
。也许是谢谢!听起来是个不错的开始。我想我会试一试,然后回答我的问题。