答え1
CLI を使用する準備ができている場合は、次のコマンドが機能します。
diff --brief -r backup/ documents/
これにより、各フォルダに固有のファイルが表示されます。必要に応じて、ファイル名の大文字と小文字を無視することもできます。--ignore-file-name-case
例:
ron@ron:~/test$ ls backup/
file1 file2 file3 file4 file5
ron@ron:~/test$ ls documents/
file4 file5 file6 file7 file8
ron@ron:~/test$ diff backup/ documents/
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
Only in documents/: file6
Only in documents/: file7
Only in documents/: file8
ron@ron:~/test$ diff backup/ documents/ | grep "Only in backup"
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
さらに、ファイルが異なる場合にのみレポートしたい場合(実際の「違い」をレポートしたくない場合)、--brief
次のようにオプションを使用できます。
ron@ron:~/test$ cat backup/file5
one
ron@ron:~/test$ cat documents/file5
ron@ron:~/test$ diff --brief backup/ documents/
Only in backup/: file1
Only in backup/: file2
Only in backup/: file3
Files backup/file5 and documents/file5 differ
Only in documents/: file6
Only in documents/: file7
Only in documents/: file8
meld
同じことができるビジュアル diff ツールがいくつかあります。meld
次の方法で、universe リポジトリからインストールできます。
sudo apt-get install meld
「ディレクトリ比較」オプションを使用します。比較するフォルダを選択します。選択後、それらを並べて比較できます。
fdupes
は重複ファイルを見つけるのに優れたプログラムですが、探している重複していないファイルはリストされません。ただし、とfdupes
の組み合わせを使用して、出力に含まれていないファイルをリストすることはできます。find
grep
次の例では、 に固有のファイルを一覧表示しますbackup
。
ron@ron:~$ tree backup/ documents/
backup/
├── crontab
├── dir1
│ └── du.txt
├── lo.txt
├── ls.txt
├── lu.txt
└── notes.txt
documents/
├── du.txt
├── lo-renamed.txt
├── ls.txt
└── lu.txt
1 directory, 10 files
ron@ron:~$ fdupes -r backup/ documents/ > dup.txt
ron@ron:~$ find backup/ -type f | grep -Fxvf dup.txt
backup/crontab
backup/notes.txt
答え2
非常に大きなファイルがたくさんある場合に同じ問題が発生しました。重複に対する解決策はたくさんありますが、逆検索に対する解決策はなく、また、データ量が多いためコンテンツの差分を検索したくありませんでした。
そこで私は「isolated-files」を検索するためのPythonスクリプトを書きました
isolated-files.py --source folder1 --target folder2
これにより、folder1 にはない (これも再帰的に)、folder2 内のファイルがすべて (再帰的に) 表示されます。ssh 接続や複数のフォルダーでも使用できます。
答え3
異なるディレクトリに異なる名前でアーカイブされた何千ものファイルを含む古いバックアップをマージするための最良のワークフローは、デュペグル結局のところ、それは重複タブからFSlint、しかし、ソースを追加するという重要な機能が追加されました。'参照'。
- ターゲットディレクトリ(例
~/Documents
:)を参照。- あ参照読み取り専用であり、ファイルは削除されません
- バックアップディレクトリを次のように追加します普通。
- 重複を検索します。バックアップから見つかった重複をすべて削除します。
- バックアップディレクトリには一意のファイルのみが残ります。無料ファイル同期またはメルドこれらをマージするか、手動でマージします。
古いバックアップディレクトリが複数ある場合は、最初に最新のバックアップディレクトリをこのようにマージし、次にこのバックアップディレクトリを参照メインのドキュメントディレクトリにマージする前に、古いバックアップから重複部分を削除します。これにより、多くバックアップからマージするのではなく、ゴミ箱に捨てたい固有のファイルを削除する必要がない作業です。
プロセス中に古いバックアップをすべて破棄した後は、必ず新しいバックアップを作成してください。 :)
答え4
jdupes
-I --isolate
これにはと という2 つの便利なオプションがあります-u --print-unique
。
たとえば、backup
ディレクトリ内の一意のファイルのみを一覧表示するには、次のようにします。
jdupes -Iru Documents backup |grep '^backup