我想为文件夹中的每个日志文件生成 sha256 哈希,并将该哈希存储在同一个文件夹中以原始文件名命名的文件中,后缀为“.sha265”。例如,我想将哈希存储/path/file.ext
到/path/file.ext.sha256
我成功生成了哈希值,但无法创建 .sha256 文件。以下是生成哈希值的方法:
find /data/dump/ -type f -name "*.log" -exec sha256sum {} \;
任何帮助,将不胜感激 ! :)
答案1
尝试以下测试命令
find /data/dump/ -type f -name "*.log" -exec echo bash -c "sha256sum '{}' > '{}'.sha256" \;
如果有效,请删除echo
:
find /data/dump/ -type f -name "*.log" -exec bash -c "sha256sum '{}' > '{}'.sha256" \;
单引号和双引号的作用是让它工作。如果文件名中有特殊字符,例如空格,那就更加复杂了。
它在测试目录中对我有用。如果它对你不起作用,你可以“查看”发生了什么,并在echo
出现输出时使用输出修改表达式。