複数の重複ファイルを効率的にアーカイブする方法

複数の重複ファイルを効率的にアーカイブする方法

WIMフォーマット重複ファイルと重複することなくアーカイブを自動的に検出します。

UNIX、Linux、Macに他のオプションはありますか?

ベストアンサー1

zipを除いて、ほとんどのアーカイブ形式は、アーカイブが十分に小さい場合に適切な操作を実行します。 Zipは各ファイルを独立して圧縮しますが、他の広く使用されている形式(tar.anything、7z、rar)はアーカイブを完全に圧縮します。同じファイルがアーカイブに十分に近い場合、2番目の発生は数バイトに圧縮できます。 「十分に近い」程度は、アーカイブ形式によって異なります。

ハードリンク(tarなど)を理解するすべてのアーカイバに適用されるアプローチは、最初に同じファイルをハードリンクに置き換えることです。これは、重複したコンテンツを含むファイルが他のメタデータ(権限、タイムスタンプなど)を持つことを望まない場合にのみ適用されます。あなたは使うレプリカ重複エントリを見つけ、ファイル名に改行文字が含まれていないと仮定し、いくつかの後処理を実行して重複エントリをハードリンクに置き換えます。

fdupes -q -r . | awk '
    $0 == "" {first = ""; next}
    {
        gsub(/\047/, "\047\\\047\047", $0);
        if (first == "") first = $0;
        else system("ln -f \047" first "\047 \047" $0 "\047");
    }'

おすすめ記事