2011-04-10 50 views
2

我正在考慮開發一個custome目錄/文件夾合併工具,作爲學習函數式編程的一部分,以及創建一個非常個人的癢。一個自定義目錄/文件夾合併工具

我通常在三臺不同的計算機上工作,我傾向於在本地累積大量文件(文本,視頻,音頻),然後爲了備份目的而苦心合併它們。我非常肯定我有一些愚蠢的東西和不需要的文件在浪費空間。我正在轉向雲備份解決方案作爲輔助備份源,我希望通過消除冗餘文件來節省儘可能多的空間。

我有一個複雜的深層嵌套的目錄結構,我想要一個自動化的工具,自動走下文件夾樹並執行合併。另一個問題是,我使用Linux和Windows的混合,我的許多文件名稱中有空格...

我最初的想法是我需要爲每個文件生成哈希,並使用哈希而不是文件名進行比較(文件夾名稱中的空格以及源文件和目標文件的內容可能不同)。 RIPEMD-160在性能和避免碰撞之間取得了良好的平衡嗎?或者是SHA-1足夠了?是SHA-256/512矯枉過正?

哪些函數式編程env帶有一套用於生成這些散列的現成庫?我傾向於OCaml ...

+0

你爲什麼要重新發明輪子。那麼git和github呢? – 2011-04-10 04:42:38

+0

對於大型二進制文件,Git不能很好地工作。但是你可以嘗試使用git-annex或者類似的git附加軟件。不確定這是否適合您的使用情況。 – 2011-04-10 06:30:31

+0

這是一個[無恥的插件](http://alaska-kamtchatka.blogspot.com/2011/02/finding-duplicate-files-on-batteries.html)。 – 2011-04-10 19:09:34

回答

8

檢查出Unison file synchronizer

我自己並沒有使用它,但我聽到了不少積極的評論。它是基於一些理論基礎的成熟軟件。

另外,它是用OCaml寫的。

相關問題