我正在考虑开发一个客户目录/文件夹合并工具,作为学习函数式编程的一部分,以及解决一个非常个人的问题。
我通常在三台不同的计算机上工作,我倾向于在本地积累大量文件(文本、视频、音频),然后煞费苦心地将它们合并以进行备份。我很确定我有欺骗和不需要的文件浪费空间。我正在迁移到云备份解决方案作为辅助备份源,我希望通过消除冗余文件来尽可能多地节省空间。
我有一个复杂的深度嵌套的目录结构,我想要一个自动沿着文件夹树走并执行合并的自动化工具。另一个问题是我混合使用 Linux 和 Windows,而且我的许多文件的名称中都有空格......
我最初的想法是,我需要为每个文件生成哈希并使用哈希而不是文件名进行比较(文件夹名称中的空格以及文件内容在源和目标之间可能不同)。RIPEMD-160 在性能和防撞之间取得了很好的平衡吗?还是 SHA-1 就足够了?SHA-256/512 是否矫枉过正?
哪个函数式编程环境带有一组用于生成这些哈希的现成库?我倾向于OCaml ...